数据结构——堆

堆首先是一个完全二叉树,在这个基础上,堆又可以分为最大堆和最小堆。
最大堆:根节点的数值比左右儿子的数值都大。
最小堆:根节点的数值比左右儿子的数值都小。

在学习过程中,遇到了下面的问题:

建堆时,最坏情况下需要挪动元素次数是等于树中各结点的高度和。问:对于元素个数为12的堆,其各结点的高度之和是多少?
求解参照博客
我们可以比较容易把树画出来:

最终的运算过程为:3* 1 +2* 2+1*3 = 10
在计算时,我们只计算具有儿子的结点。并且从下到上递增。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值