1

VS2012、.NET Framework 4.5 を使用しています。DataView.Sort で使用されている並べ替えアルゴリズムを知る必要がありますか?

私のコード:

var table = new DataTable();
table.Columns.Add("Word");

table.DefaultView.Sort = "Word";//after that row, DefaultDataView is sorted

では、ここではどのようなソート アルゴリズムが使用されているのでしょうか。

4

1 に答える 1

1

DataView の Sort メソッドは、Quicksort アルゴリズムを実装しています。任意の中点を選択し、中点よりも低い値をすべて左に、高い値をすべて右に配置します。次に、左右のセクションに再帰的に適用されます。最終的には、より小さなセクションに分割できないセクション (つまり、セクションが単一の配列メンバーで構成される場合) まで再帰し、その時点で並べ替えが完了します。big-O 表記を使用すると、このアルゴリズムはO(n log n)時間で実行されると言えます。これは、並べ替えアルゴリズムから期待できる効率とほぼ同じです。並べ替えの各反復が一連のインデックスを 2 つの等しい部分に分割する限り、2 を底とする対数を扱っています。 これらすべてを証明するには、System.Data コードを計測し、テスト ツールで実行時のパフォーマンスをチェックする必要があります。

アップデート:

Reflector Utilityを見て、この投稿に従うことができます...ここですべて説明されています DataView Sort

于 2013-04-09T06:46:09.473 に答える