[解決済み] Max-Heapifyの最悪のケース - 2n/3を得るには?
2023-05-11 07:12:52
質問
CLRS第3版の155ページに、MAX-HEAPIFYではと記載されています。
子のサブツリーのサイズはそれぞれ最大で 2n/3 -最悪の場合 最悪のケースは、木の最下層がちょうど半分になったときに起こります。
最下層がちょうど半分のときに最悪になる理由はわかりました。そして、それはこの質問でも回答されています。 MAX-HEAPIFYにおける最悪のケース: "最悪のケースは、ツリーの一番下のレベルがちょうど半分のときに発生します"。
私の質問は、2n/3を取得する方法ですか?
なぜ最下層が半分になると、子木の大きさは2n/3までなのでしょうか?
どのように計算するのですか?
ありがとうございます。
どのように解決するのですか?
説明:高さhのノードの数は2^hであり、幾何級数の和の公式によって(高さ0からh-1までのノードの和)+1に等しく、高さ0からh-1までのすべてのノードは正確に2つの子を持つノードである}。
ROOT
L R
/ \ / \
/ \ / \
----- -----
*****
Rのノード数をkとすると、Lのノード数はk + (k + 1) = 2k + 1となる。ノードの総数は、n = 1 + (2k + 1) + k = 3k + 2 (ルート + L + R)です。比率は(2k + 1)/(3k + 2)であり、これは上で2/3に束縛されている。kが無限大になるときの極限は2/3なので、2/3より小さい定数は働きません。
関連
-
[解決済み] ポイントルック アット ポイント
-
[解決済み] 素朴な」アルゴリズムとは何か、「閉じた」解とは何か?
-
[解決済み] 複雑さ O(log(n)) は O(sqrt(n)) と同等か?
-
[解決済み] Pythonスクリプトのプロファイリングはどのように行うのですか?
-
[解決済み] キャッシュの無効化 - 一般的な解決策はありますか?
-
[解決済み] 再帰と反復
-
[解決済み] ブルームフィルターを使用するメリットは何ですか?
-
[解決済み] あるアルゴリズムの計算量がO(log n)になる原因は何でしょうか?
-
[解決済み] Dijkstraのアルゴリズムはなぜdecrease-keyを使うのですか?
-
[解決済み] 2つの画像の類似度を測るには?[クローズド]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】決定木(比較ソートアルゴリズム)の葉の最短の深さ)
-
[解決済み】なぜO(n)はO( nlog(n) )よりも優れているのでしょうか?)
-
[解決済み] ポイントルック アット ポイント
-
[解決済み] 構造的再帰と生成的再帰はどのように違うのですか?
-
[解決済み] ラジアンを度数に変換する方法は?
-
[解決済み] 複雑さ O(log(n)) は O(sqrt(n)) と同等か?
-
[解決済み] 線形時間でのソート?[クローズド]
-
[解決済み] 最小ボトルネックスパニングツリーと最小スパニングツリーはどう違うのですか?
-
[解決済み] 並べ換え→数→並べ換えの高速マッピングアルゴリズム
-
[解決済み] 二分探索木におけるk番目の最小要素を最適な方法で探す