如何向已排好序的堆中插入元素,描述插入过程就行。
有了解的帮帮忙。堆排序后,再插入一个元素
堆排序如何插入元素?
答案:1 悬赏:10 手机版
解决时间 2021-02-09 21:45
- 提问者网友:玫瑰园
- 2021-02-09 03:51
最佳答案
- 五星知识达人网友:渊鱼
- 2021-02-09 05:15
向堆中插入一个元素时,首先将该元素写入到堆尾,即堆中最后一个元素的后面,然后经调整为一个新堆。因为在原有堆上插入一个新元素后,可能使以该元素的双
亲结点为根的子树不为堆,从而使整个树不为堆,所以必须进行调整使之仍为一个堆。调整的方法如下,若新元素大于双亲结点的值,就让它们互换位置。新元素换
到双亲位置后,使得以该位置为根的子树成为堆,但新元素可能还大于此位置的双亲结点的值,从而使以上一层的双亲结点为根的子树不为堆,还需要按上述方法继
续调整。这样持续传递上去,直到以新位置的双亲结点为根的子树仍为一个堆或者调整到堆顶为止,此时得到的整个树又成为了一个堆。
亲结点为根的子树不为堆,从而使整个树不为堆,所以必须进行调整使之仍为一个堆。调整的方法如下,若新元素大于双亲结点的值,就让它们互换位置。新元素换
到双亲位置后,使得以该位置为根的子树成为堆,但新元素可能还大于此位置的双亲结点的值,从而使以上一层的双亲结点为根的子树不为堆,还需要按上述方法继
续调整。这样持续传递上去,直到以新位置的双亲结点为根的子树仍为一个堆或者调整到堆顶为止,此时得到的整个树又成为了一个堆。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯