2012-12-01 88 views

回答

2

根據您確切堆佈局,你可能有候補(假設你的根是最小元件和所述第二層是最大元素)。

選擇最大的一個,並用堆的最後一個元素替換它 - 與常規堆一樣 - 並執行向下堆修復。就像一個普通的堆一樣,從位置1或2開始,而不是0,並且像在最小最大堆中一樣降低到水平。

+0

謝謝,我一開始就試圖做到這一點,但在我的代碼中有一個小錯字。 – lucasbibiano

+0

@ jwpat7最小 - 最大堆不是最小堆。它用於雙端優先隊列,它確實可以有效檢索最大值。 https://en.wikipedia.org/wiki/Min-max_heap –