這是一個家庭作業問題,我要求顯示8元素二進制堆需要8個比較。8元素二進制堆需要多少次比較?
但是當我使用這樣一個例子:1 2 3 4 5 6 7 8 我不知道我是否應該自下而上或自上而下。 但無論如何,我已經嘗試過他們兩個。
在自上而下: 我已經做了8級,但是當我算比較的次數,我得到13:S
在bottum起來: 我已經在7個步驟完成,但是當我算餘得到10比較的次數:S
這裏試圖算法之後是我得到了比較:
- H [L] = 8> H [I] = 4
- ħ[L ] = 8> H [i] = 2,H [r] = 5> H [最大] = 8
- H [L] = 4> H [I] = 2
- H [L] = 6> H [I] = 3,H [R] = 7> H [最大] = 6
- ħ [L] = 8> H [i] = 1,H [r] = 7 < H [最大] = 8
- H [L] = 4> H [i] = 1,H [r] = 5> H [最大] = 4
嗯,任何幫助我該如何計算比較的數量,以便我可以顯示他們8? 和我應該使用什麼方法(自下而上或自上而下)?
你是對的,我確實試着按照算法編輯我的問題。 – Sosy 2011-12-24 22:05:39
更新了我的回覆,以顯示適當的自下而上的堆建築。練習時,你也應該做一個最大的堆。 – 2011-12-24 22:17:10
我現在看到了,所以我們只需要7個比較而不是8個正確的問題。嗯,我的蹤跡是錯的? :$ – Sosy 2011-12-24 22:31:12