[英]Min Fibonacci Heap - How to implement increase-key operation?
首先,請注意,如果我們希望insert和find-min像在斐波那契堆中一樣保持𝑂(1),則增量鍵必須為𝑂(log𝑛)。
如果不是這樣,您可以通過執行𝑛次插入來排序𝑂(𝑛)時間,然后重復使用find-min來獲取最小值,然后使用∀𝑥:𝜔>在頭部增加increase鍵。 𝑥將頭推到底。
現在,知道增加鍵必須是𝑂(log𝑛),我們可以為其提供一個簡單的漸近最優實現。 要將節點increase增加到值𝑥,首先您要減小鍵(𝑛,-∞),然后是delete-min(),然后是insert(𝑛,𝑥)。
請參考這里
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.