ヒープをマージするための次のアルゴリズムが正しくない理由を誰かが説明できますか?
2 つの (最大) ヒープ H1 と H2 があるとします。
それらをマージするには:
キー値が負の無限大である人工ダミー ノードを作成し、H1 と H2 を子としてアタッチしてルートに配置します。次に、最終的にルートをリーフ位置にスワップする O(log n) バブル ダウン ステップを実行し、そこで最終的に削除されます。結果の構造はマージされたヒープです。
ウィキペディアと他の場所の両方で、2 つの同じサイズのヒープをマージすることは Theta(n) 操作であるという主張を見てきましたが、これは私が上に書いたことと矛盾しています。