どのソートアルゴリズムを使用するのか、間違いなく使用すべきなのか

Merge、quick、Heapのような多くのソート手法があります。問題のように、どのような種類の環境でこれらのソート手法を使用するかを決める手助けをしてください。どのソートアルゴリズムをいつ使うべきですか(時間と空間の欠点)?

私はこの形式の答えを期待しています: a)Merge sortを使用する場合は... Merge Sortを使用しないでください。 b)クイックソートを使用する場合は...クイックソートを使用しないでください。

1
追加された 著者 JRL,
このページでは、 mycblog.org/&hellip のすべてを説明しています。
追加された 著者 Jamie Hutton,

2 答え

各ソートアルゴリズムの動作を特徴付ける基本的なパラメータがいくつかあります。

  • 平均的なケースの計算の複雑さ
  • 最悪の場合の計算の複雑さ
  • メモリ要件
  • 安定性(つまり、安定したソートですか?)

これらはすべて一般的に使用されているすべてのソートについて広く文書化されています。これはすべての情報ですあなたが望む形式で答えを提供する必要があります。しかし、各種類の4つのパラメータであっても、すべてが関連するものではなく、多くのことが考慮されるため、このような「スクリプト化された」回答を試みることは非常に良い考えではありません。さらに、(ソートされたデータや逆ソートされたデータを実行したときの動作、キャッシュのパフォーマンス、悪意を持って構築された入力に対する抵抗などの)動作を考慮したさらに高度な概念があり、 。

各種類のソートがどのように動作するかを視覚化することで、上記の4つの基本概念に慣れるのに時間を費やすことをお勧めします単純な入力で、ソートアルゴリズムに関する入門テキストを読んでください。これを行い、すぐにあなたはそのような質問に自分自身で答えることができます。

6
追加された
ありがとうジョン。私はそれに乗っている。
追加された 著者 Aj Gauravdeep,

まず、ウィキペディアの比較表をご覧ください。比較基準はあなたにアルゴリズムとその可能性のあるトレードオフを探すための手掛かり。

1
追加された