一图展示堆的调整插入删除(无代码)

前言

这里演示建小根堆的过程,以及插入一个节点,删除一个节点的调整过程,另外地这里不再演示大根堆,因为它们是类似的

插入操作

无论是大根堆还是小根堆,插入新元素时,通常先将新元素添加到堆的末尾,也就是完全二叉树的最后一个位置。这是因为堆是一种完全二叉树,保持其完全二叉树的形态能便于后续的操作和维护。添加到末尾后,新元素可能会破坏堆的性质,此时需要进行 “上浮” 操作来调整堆结构,使堆重新满足大根堆(父节点值大于等于子节点值)或小根堆(父节点值小于等于子节点值)的性质。

删除操作

在删除堆顶元素(大根堆的最大值或小根堆的最小值)时,通常的做法是将堆顶元素和堆的最后一个元素交换位置,然后移除最后一个元素(也就是原来的堆顶元素)。这样做的好处是能快速移除堆顶元素,同时保持堆是一个完全二叉树。不过交换后,新的堆顶元素可能会破坏堆的性质,所以需要进行 “下沉” 操作来调整堆结构,使堆重新满足相应的性质。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fan_558

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值