質問
私はaの関数をプログラミングしています ti-nspire, 、そのため、関数内からビルトインを使用することはできません。リスト自体を変更せずに数値のリストをソートするための最も一般的に効率的なアルゴリズムは何ですか? (数学の一般的な使用と同様に、再帰とリスト分割は公正なゲームです。)
解決
Mergesortは簡単で、シンプルで、効率的で、安定しています。リストを分割し、再帰的にソートし、結果をマージします。
より具体的には、mergesortはo(n log n)を取ります。これは漸近的に最適です。また、実際には(両方のアルゴリズムが特別な目的の種類で短いサブリストをソートするように変更された)、MergESORTは、C/C ++標準ライブラリで使用される修正されたクイックソートの緊密な競争相手になります。
編集:クイックソートや挿入ソートなどのインプレースソートとは異なり、MergESORTは補助メモリが必要であり、スワッピングするのではなくコピーすることで実装するのが最も簡単です。
所属していません StackOverflow