若有N个元素已构成一个小根堆,那么如果增加一个元素为Kn+1,请用文字简要说明如何在log2n的时间内将其重新调整为一个堆。

admin2019-08-01  21

问题 若有N个元素已构成一个小根堆,那么如果增加一个元素为Kn+1,请用文字简要说明如何在log2n的时间内将其重新调整为一个堆。

选项

答案K1~Kn是堆,在Kn+1加入后,将K1…Kn+1调成堆。设c=n+1,f=[c/2],若Kf≤Kc,则调整完成。否则Kf与Kc交换之后,c=f,f=[c/2],继续比较,直到Kf≤Kc,或f=0,即为根结点,调整结束。

解析
转载请注明原文地址:https://kaotiyun.com/show/LtCi777K
0

相关试题推荐
最新回复(0)