Lua のデフォルトでどのアルゴリズムが使用されているか興味table.sort
があります。これは、私が遭遇した他のソート アルゴリズムよりも遅いためです。table.sort
また、Luaは C のエンジンで記述されているのか、それとも Lua のライブラリにあるのかにも興味があります。
2491 次
2 に答える
6
table.sort はどのアルゴリズムを使用しますか?
(少し上にスクロール)状態のコメントtablib.c
/*
** {======================================================
** Quicksort
** (based on `Algorithms in MODULA-3', Robert Sedgewick;
** Addison-Wesley, 1993.)
** =======================================================
*/
私が提供したリンクでソースコードを読むことができます。
また、Lua の table.sort が C で Engine に記述されているのか、それとも Lua のライブラリにあるのかにも興味があります。
現時点では、Lua に直接付属するすべてのライブラリ ( io
、table
、math
...) は C で記述されています。
于 2013-08-04T14:17:57.197 に答える
3
内部的にtable.sort
はクイックソートを使用し、C で記述されています。クイックソートは安定していないことに注意してください。少し驚いたことに、Lua は C をqsort()
直接使用していませんでした。
パフォーマンスに関しては、どの言語とどのアルゴリズムと比較しているか、どのようなデータをテストしているかなど、さまざまな要因があるため、特定するのは困難です。
于 2013-08-04T14:18:27.347 に答える