0
我想將minHeap類轉換爲maxHeap類。我得到了minHeap類的代碼,其中一種方法是添加。它看起來像這樣:這是一個有效的MaxHeap結構嗎?
while (index > 1 && getParent(index).compareTo(newElement) > 0)
第一節點自動設置爲空,這樣得到的一切添被放置在節點1日起實施。如前所述,該代碼提供了minHeap結構。因此,將其更改爲maxHeap,我只是翻了比較符號,像這樣:
while (index > 1 && getParent(index).compareTo(newElement) < 0)
我進入項目被存儲一個整數值。在插入的順序,他們是:
3
7
8
10
6
1
9
2
在minHeap結構,這些都存儲在節點像這樣:
1
2 3
6 7 8 9
10
在maxHeap結構,改變了符號並將它們存儲如下所示:
10
8 9
2 7 3 6
1
請注意,它們不再與minHeap結構中的順序相同。這是否有問題,或者它仍然是一個有效的maxHeap?
道歉爲我可怕的嘗試顯示樹狀結構。
謝謝 - 我雖然這樣做,只是想確定。 – 2013-03-24 23:58:21