TI-Nspireの関数をプログラミングしているので、関数内からビルトインを使用することはできません。リスト自体を変更せずに数値のリストをソートするための最も一般的に効率的なアルゴリズムは何ですか?(再帰とリスト分割は、数学の一般的な使用法と同様に、公正なゲームです。)
2 に答える
3
マージソートは、単純で、単純で、効率的で、安定しています。リストを分割し、再帰的にソートして、結果をマージします。
より具体的には、マージソートは漸近的に最適なO(N log N)を取ります。また、実際には(両方のアルゴリズムが変更されて、特別な目的の並べ替えで短いサブリストを並べ替える)、マージソートは、C /C++標準ライブラリで使用される変更されたクイックソートと密接に競合する可能性があります。
編集:クイックソートや挿入ソートのようなインプレースソートとは異なり、マージソートは補助メモリを必要とし、スワッピングではなくコピーによって実装するのが最も簡単です。
于 2010-05-18T21:34:16.043 に答える
0
ティムソートは、PythonおよびJavaSE7で使用されます。マージソートと挿入ソートを最大限に活用します。挿入ソートはO(n ^ 2)ですが、数値のリストが小さい場合は、マージソートよりも高速です。
したがって、ここで説明するように、これを一般的な並べ替えアルゴリズムとして使用できます。
于 2010-05-18T22:13:18.653 に答える