2016-12-30 4 views

答えて

0

「配列を昇順に並べ替えると、バイナリヒープになります。これは正しいです。 これは、配列を昇順で並べ替えるアルゴリズムによって異なります。最適な並べ替えアルゴリズムは、複雑さO(NLogN)で実行します。

バイナリヒープを作成するアルゴリズムBuild_Heapは、O(N)の複雑さを持ちますが、

Counting Sortなどの非比較ソート方法を使用するまで、バイナリヒープを作成する複雑さは少なくともとatmost O(N^2)になります。

バイナリヒープを作成する従来の方法が好都合です。

伝統的なBuild_Heapインプレースバイナリヒープを作成するが、Counting SortO(N)時間がかかりますが、それは余分なスペースO(N)が必要になりますが。

+0

O(N)の時間に比較ソートを実行することはできません。比較ソーティングはO(N log N)です。非比較メソッド(基数ソートなど)は潜在的にO(N)ですが、余分なスペースが必要です。 –

+0

@JimMischel:By-mistakeは、 'Counting'の代わりに' Comparison'を書きました。訂正してくれてありがとう。 – sameerkn