ホームページ  >  記事  >  ヒープソートは安定していますか?

ヒープソートは安定していますか?

尚
オリジナル
2020-04-22 11:27:5218814ブラウズ

ヒープソートは安定していますか?

ヒープソート、クイックソート、ヒルソート、直接選択ソートは不安定なソートアルゴリズムですが、基数ソート、バブルソート、直接挿入ソート、半挿入ソート、マージソートは不安定です。安定したソートアルゴリズム。

ヒープのソート

ヒープの構造は、ノード i の子が 2*i ノードと 2*i 1 ノードであることを知っています。大きなトップ ヒープでは、親ノードが以下である必要があります。 2 つの子ノード以上であること。スモールトップヒープでは、親ノードがその 2 つの子ノード以上であることが必要です。ヒープでは、親ノードがその 2 つの子ノード以下であることが必要です。

長さ n のシーケンスで、ヒープのソートのプロセスは、n/2 番目とその子ノードから開始して最大 (大きな上部ヒープ) または最小 (小さな上部ヒープ) を選択します。合計は次のとおりです。 3 つの値 要素を選択しても安定性が損なわれることはありません。ただし、n /2-1、n/2-2、...1 個の親ノードの要素を選択すると、安定性が損なわれます。

n/2 番目の親ノードが次の要素を交換し、n/2-1 番目の親ノードが次の同じ要素を交換しない可能性があり、この場合、これら 2 つの同じ要素間の安定性は破壊されます。したがって、ヒープ ソートは安定したソート アルゴリズムではありません。

以上がヒープソートは安定していますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。