1
A
回答
17
(我假設你的意思是高N - 1:高度n是不可能的,因爲有N個節點的最大高度是高度的鏈表N - 1)
前往高一個很簡單:加在三個節點,然後做一個dequeue-min。這消除了一個節點,並結合其他兩個節點,具有高度爲0,爲高度1的這種結構:
A
|
B
如果再次重複這個過程,並確保新節點具有最低的優先級,你會得到一個兩個這樣的樹,這是再合併在一起,這樣的:
A
|\
B C
|
D
現在,做B.刪除操作這使得A和1階和標記:
A*
|
C
|
D
重複此過程中再次(插入三個節點,都具有無限負的優先級,並調用出列分鐘)得到這個:
E
|\
F A*
|
C
|
D
刪除F到獲得
E*
|
A*
|
C
|
D
如果多次執行的過程添加三個節點,刪除一個,然後刪除單個剩餘樹的單獨子節點,可以讓斐波那契堆爲任意n個高度爲n - 1的單個樹。
希望這會有所幫助!
相關問題
- 1. 斐波納契OCAML的N步代碼
- 2. 爲什麼斐波納契堆稱爲斐波那契堆?
- 3. 斐波納契迭代:找到n> 50的斐波那契數列的第n項
- 4. 斐波納契數列中的第n個數字
- 5. 如何找到第n個斐波納契數的二進制表示法
- 6. Clojure斐波納契
- 7. 獲取第N個地方改性斐波納契數列
- 8. 斐波納契系列在PHP中的第n個數字與O(日誌N)
- 9. Python斐波納契不具有無限精度?
- 10. 檢查1到N之間有多少個斐波納契數字存在
- 11. 斐波納契數的和
- 12. 計算斐波納契數字至少爲n
- 13. 斐波那契數字從0到n
- 14. 時間memoized斐波納契
- 15. 斐波納契java程序
- 16. Fortran斐波納契困境
- 17. 存儲斐波納契值
- 18. 打印斐波納契數
- 19. 斐波納契數字
- 20. 斐波納契數字c
- 21. 尾遞歸斐波納契
- 22. 斐波納契編碼
- 23. 瞭解Monadic斐波納契
- 24. SML斐波納契大數
- 25. 嵌套斐波納契?
- 26. 斐波納契遞歸
- 27. 斐波納契數列
- 28. 斐波納契數列
- 29. X86斐波納契程序
- 30. 遞歸斐波納契
但它不適用於n-1,而是適用於「n」。它必須能夠通過「n」個節點達到高位「n」。 – Rat565
你不知道高嗎? – Rat565
@ Rat565-正如我在我的回答中所提到的,無法獲得身高n。有一個節點的樹的高度爲零,所以高度總是最多比節點數少一個。但是,如果您將單個節點的高度定義爲一個,那麼這可以起作用。另外,請不要忘恩負義。回顧你的問題,我明白我正在爲你做功課。你至少可以讚賞我已經付出努力去幫忙。 – templatetypedef