(USC CSCI 303 宿題 4) 問題 7 (6.5-7):
この操作は、 node の項目をheap から
Heap-Delete(A, i)
削除します。n要素の最大ヒープに対してO ( lg n ) 時間で実行される の実装を与えてください。i
A
Heap-Delete
参照ソリューションの疑似コードと説明は次のとおりです。
Heap-Delete(A, i)
A[i] ↔ A[length(A)]
length(A) ← length(A) - 1
Heapify(A, i)
アルゴリズムは node の要素を削除
i
し、最後の要素に置き換えます。次に、アルゴリズムHeapify
はノードから実行されますi
。
「↔」は「←」の方がいいのではないですか?またはこれは本当に必要ですか?
これは http://www-scf.usc.edu/~csci303/cs303hw4solutions.pdf (ページ 4)から入手しました。