平均的な場合、時間の複雑クイックソートとヒープソートにO(N Nログ)、時間複雑度ヒープソートクイック時間の複雑さよりもより安定です。
クイックソートの最悪の場合の時間複雑であるためO(n²)。
しかし、実際のソフトウェア開発では、クイックソート良いヒープソートよりもパフォーマンスの。なぜ?
理由は2つあります
ヒープソートデータアクセスがフレンドリーをソートする全く簡単な方法ではありません
クイックソートのために、データが順次アクセスされます。
ヒープの並べ替えのために、データがダンスをアクセスしています。
例えば、ヒープソートの処理スタックは、スタックの一番上のヒープは、順次、配列の添字1,2,4,8要素にアクセスします
むしろ部分的なシーケンシャルアクセスとしてクイックソートよりも、そう、そうCPUキャッシュ非友好的なもの。
同じデータの場合、ソート処理では、回数データをソートより迅速に、ヒープソートアルゴリズムを交換します
順序と逆度の度合いのソートコンセプト
アルゴリズムをソートするための比較に基づいて、プロセスをソート全体は、二つの基本的な操作からなる比較およびスワップ(または移動)されます。
クイックソートデータの数は、これ以上の逆度よりも交換していません。
最初のステップは、パイル構築プロセスは、元のデータの順番の低い程度で、その結果、元のデータの相対的順序を破壊する、ヒープ・ソート・ヒープを構築することです。
例えば、データセットのデータを渡した後、ヒープの建設を命じたが、より無秩序になってきました。