ヒープソート実際にはそれほど難しいことではありません

ヒープを指す超えるまたはノード値の約少ない平衡二分木構造に等しく、スタックに分割され、各ノードの値大きなスタックの最上位(各ノードがより値より大きいと等しいノード約値)とトップスタック(各ノードこれは、以下であるノードについての)値

 

ヒープはソートの前提条件の一例として、大規模なスタックトップにここから出てヒープを構築することです。

与えられた大一番上のスタックのアレイが構築されます。

 

ビッグトップ建設ヒープの主なアイデア:

データの1、N個。

図2は、処理すべきデータのデータから採取した、尾部は、スタックに挿入し、上部よりも大きくなるようにスタックを調整します。

    2.1、ノード値は、親ノードの調整値よりも大きい場合、2つのノードが値を交換し、ルートノードが調整されるまで、この手順が繰り返されます

    2.2、そうでない場合はノードがヒープ大きな、無調整の上部に挿入されます

3.手順2を繰り返し、すべてのデータが削除されるまで。

 

達成するためのコードの建設ヒープ:

 

ヒープもオーバー構築、そして残りは思考のようなものをあるソートする方法です。

図1に示すように、n個の要素のルートの大スタック。

図2は、現在、最後のスタックのルートノードと交換しました。

3、N-1(基準構成考えアイデア大トップスタックに大きなスタックの上部で調整)スタックの最上部の再調整よりも大きいの残りの要素。

ソートが完了するまで4.手順2と3を繰り返します。

 

コードの実装:

 

反転出力の得られた配列は、ソートされた配列です。

国民の関心号  肉を食べます 

おすすめ

転載: www.cnblogs.com/chicaizhangrou/p/12053890.html