堆的节点总数n和叶结点数目的关系 (CLRS习题 6.1-7)

来源:互联网 发布:知乎和百度贴吧 编辑:程序博客网 时间:2024/04/29 16:52

来自算法导论 CLRS的一个习题。Chapter 6 Heap Sort.  Exercise6.1-7

 

Show that, with the array representationfor storing an n-element heap, the leaves are the nodes indexed by ⌊n/2⌋ + 1, ⌊n/2⌋ + 2, . . . , n.

 

首先用一个例子来验证,如图1所示,


非叶节点有20+21+22=1+2+4=7个,叶节点有K+1 (23=8)个。共有15个节点,叶结点开始于第8个,即第 [15/2]+1个,满足结论“叶结点开始于[n/2]+1”


然后开始证明,分为两种情况,完全二叉树和不完全二叉树。

证明之前先清楚高度的定义。一个节点的高度就是从这个节点到叶结点的路径包含的边的数目,树(包括二叉树,堆)的高度被定义为根节点的高度。


(1)如果是完全二叉树

如果是完全二叉树,假设非叶节点有K(20+21+22=1+2+4=7)个,叶节点有K+1 (23=8)个。

假设完全二叉树的高度为h,则

非叶子节点的数目20+21+22+…+2h-1=2h-1

叶子节点的数目2h

全部节点的数目2h+1-1

如果用n表示全部节点的数目,则n = 2h+1 –1 = 2– 1 + 2h。显然叶子节点开始于[n/2]+1

 

(2)如果是不完全二叉树

假设不完全二叉树的高度为h,不完全二叉树显然是通过完全二叉树转化而来的。如图2和图3把完全二叉树的叶结点摘掉几个,就成为了不完全二叉树。

              

                          图2                                                                          图3

(2.1)摘掉2k个叶结点

假设摘掉了2k个叶结点,如图2。那么原来的2k个叶结点就没有了,并且,这2k个叶结点的k个父节点也转化为了叶结点。这意味着,非叶节点减少了k了,叶结点减少了2k个,增加了k个,所以一共减少了k个。此时,

非叶子节点的数目20+21+22+…+2h-1–k=2h–1–k

叶子节点的数目2h–k

全部节点的数目2h+1–2k–1

如果用n表示全部节点的数目,则n = (2h–1–k) + (2h–k) = 2(2h–1–k)+1,扣除前面的非叶子节点2h–1–k个之后, 显然叶子节点开始于[n/2]+1

 

(2.2)摘掉2k+1个叶结点

假设摘掉了2k+1个叶结点,如图3,那么原来的2k+1个叶结点就没有了,并且,这2k+1个叶结点的k个父节点也转化为了叶结点。这意味着,非叶节点减少了k了,叶结点减少了2k+1个,增加了k个,所以一共减少了k+1个。此时,

非叶子节点的数目20+21+22+…+2h-1–k=2h–k–1

叶子节点的数目2h–k–1

全部节点的数目2h+1–2k–2

如果用n表示全部节点的数目,则n = (2h–k–1) + (2h–k–1) = 2(2h–k–1),则扣除前面的非叶子节点2h–k–1个之后,不用取整刚好剩下n/2个节点,正是叶子节点。所以叶子节点开始于[n/2]+1


转载自http://blog.csdn.net/feliciafay/article/details/12869179

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 上海落户应届生分不够怎么办 应届生落户分数不够72分怎么办? 上海应届生落户时间延误怎么办 南京市区户口签江宁怎么办 深圳公司集体户口离职后怎么办 济南本地户口不符合入学条件怎么办 上海住亲戚家怎么办居住证 政府卖非农户口怎么办 90年代买了户口怎么办 上海应届大学生积分不够怎么办 广州居住证回执单丢了怎么办 惠阳居住证回执单丢了怎么办 南京居住证换地方了怎么办 买家退回的商品有问题怎么办 农转农户口手续怎么办 原房东不迁户口我怎么办 户主信息页掉了怎么办 户主变了户口本首页怎么办 大人户口迁走小孩户口怎么办 网银转账处理中怎么办 教育部学籍在线验证报告有错怎么办 验证码连续输入三次错误怎么办 交通运输监察大队截车了怎么办 平安安康续保没成功怎么办 危险品经营许可证到期了怎么办 郑万350渝万怎么办 厂里饭堂的饭好难吃怎么办 学校的食堂饭菜不好不卫生怎么办 亲戚借钱我真没有怎么办 榴莲肉酸了吃了怎么办 亲戚赖在家里住怎么办 食堂饭菜味道差该怎么办 被监视居住公安打电话睡着了怎么办 鱼缺氧浮上水面怎么办 车载低音炮有电流声怎么办 925纯银变黑了怎么办 银子放久了变黑怎么办 高铁票网上售空怎么办 高铁票出票失败怎么办 高铁票名字打错怎么办 高铁票姓名错了怎么办