应用题
12.
若有N个元素已构成一个小根堆,那么如果增加一个元素为K
n+1
,请用文字简要说明如何在log
2
n的时间内将其重新调整为一个堆。
【正确答案】
K
1
~K
n
是堆,在K
n+1
加入后,将K
1
..K
n+1
调成堆。设c=n+1,f=[c/2],若K
f
≤K
c
,则调整完成。否则K
f
与K
c
交换之后,c=f,f=[c/2],继续比较,直到K
f
≤K
c
,或f=0,即为根结点,调整结束。
【答案解析】
提交答案
关闭