2016-05-20 11 views

答えて

4

何百万もの値をソートする必要のあるシステムでは、Bubble SortやO(n^2)のアルゴリズムをベースとして使用するシステムはないと思います。

Lucene(現在はDocValuesを使用)は、主に同じアルゴリズムのPython実装から適合したTimsortの実装を使用しています。これは、最近のバージョンのJDKで使用されているのと同じアルゴリズムです。

Timsortは、マージソートと挿入から派生したハイブリッド安定ソートアルゴリズムです。多くの種類の実世界データでうまく機能するように設計されています。

独自の実装ではなく、TimsortのJDKバージョンに切り替える必要があります。

Luceneが持つ異なるソートアルゴリズムのソースはis available in core/src/java/org/apache/lucene/utilです。

関連する問題