n個の要素のバイナリヒープを持ち、さらにn個の要素を挿入したいとします。これに必要な合計時間はどのくらいでしょうか?すでにn個の要素を含むバイナリヒープにn個の要素を挿入する漸近的な時間の複雑さ
1つの挿入がlognをとるので、それはtheta(n logn)だと思います。
n個の要素のバイナリヒープを持ち、さらにn個の要素を挿入したいとします。これに必要な合計時間はどのくらいでしょうか?すでにn個の要素を含むバイナリヒープにn個の要素を挿入する漸近的な時間の複雑さ
1つの挿入がlognをとるので、それはtheta(n logn)だと思います。
我々が与えられたと仮定すると:実装標準バイナリヒープH(によって実現
の現在のサイズに我々は、挿入特性を下記ましたシータ)。 (n)=Θ(lg n)(Θ)であり、W(n)=Ω(lg n)であり、W(n)= 0である。 B(n)= BestCase(n)=Θ(1)(Theta)である。 - > W(N)=Ω(1)、W(N)= O(1)毎場合、我々が持っているためにそう
WorstCaseは新しい最小値を挿入するため、新しいヒープが挿入されます。
BestCaseは、最小限のヒープ(ヒープが最小限のヒープ)の場合は、BIG(更新されたブランチで最大)の値を挿入します(アップヒープは直ちに停止します)。
あなたは既にn個の要素を含む、ヒープ上のn個の一連の操作について尋ねてきた、 それはサイズが大きくなります
from n to 2*n
何漸近されています...私たちの方程式を簡素化何
n=Θ(n)
2*n=Θ(n)
。 (成長が一定の要因であるため、nの成長について心配する必要はありません)。
そこで、我々は動作の "n個の挿入のために、" 持っている:
P.S.オメガΩ記号ThetaΘを表示するには、UTF-8をインストールするか互換性がある必要があります。
そのないtheeta(nlogn)...挿入の一部以来順序(nlogn)は、したがって、n個の挿入のためにそれが取る...正確LOGN時間、次に以下を取ることができる時間< = nlogn
= >時間複雑= O(nlogn)
与えられた:n個の要素と挿入されるn個以上の要素のヒープ。だから最後には2 * n個の要素があります。ヒープは2つの方法で作成することができます1.連続して挿入し、ヒープを構築します。これらのビルドヒープメソッドを使用すると、 How can building a heap be O(n) time complexity?で説明されているヒープの構築にO(n)時間かかる。 O(n *)と同じです。
私は既存のヒープのサイズが何とか結果を入力する必要があると思います。 –