论二叉树E=I+2n公式的另一种证明方法

来源 :硅谷 | 被引量 : 0次 | 上传用户:shichun
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]二叉树中E=I+2n公式在查询等领域有着广泛的应用。一般对它采用数学归纳法来证明,且仅限于公式的直接应用。直接证明方法在充分利用二叉树定义的迭代关系基础之上,分析二叉树中E与I之间的密切关系,据此提出该公式的另一种证明方法并进行严格的证明。该方法能更多地了解每一边、每一结点上的具体情况,因而具有广泛意义。
  [关键词]扩充二叉树 内部结点 外部结点 外部路径长度 满二叉树
  中图分类号:O29 文献标识码:A 文章编号:1671-7597(2008)0310071-01
  
  定理:对任意扩充二叉树,外部路径长度E和内部路径长度I之间满足E=I+2n关系,其中n是内部结点个数。二叉树中E=I+2n公式主要应用在查询领域。其证明通常采用归纳法,该方法不能清楚地表达每一条边或每一个结点与E、I之间的内在关系。对公式进行直接证明的方法是建立在分析清楚这些情况的基础之上,而该关系的分析又要充分利用二叉树的定义。
  
  一、证明方法的分析
  
  如图所示,设1、2、3、4、5和6代表一棵二叉树的内部结点(图1中用实心的圆表示),a、b、aa、ab和bb代表边(图1中用实心的边表示),则I中:经过边a的个数是3,用AI表示;经过边b的个数是2,用BI表示;经过边aa的个数是1,用AAI表示;经过边ab的个数是1,用ABI表示;经过边bb的个数是1,用BBI表示。即:
  
  其中I'表示内部路径长度I经过的各路径;Ii表示二叉树中T中任一结点i与其子女直接相连的边在I中经过的次数,如点1直接相连的两边分别是a、b,I1就表示I中过a、b两边的次数;如果i是叶结点,所以左右子女个数为0,所以经过i与其左右子女直接相连的边的次数为0。
  又设E中含有通过边a的次数分别为AE;通过边b的次数分别为BE;通过边aa的次数分别为AAE;通过边ab的次数分别为ABE;通过边ba的次数分别为BAE;通过边bb的次数分别为BBE;通过边aaa的次数分别为AAAE;通过边aab的次数分别为AABE;通过边aba的次数分别为ABAE;通过边abb的次数分别为ABBE;通过边bbb的次数分别为BBBE。我们知道图中所示情况时:
  
  其中E'表示E经过的路径。由上式可推出如下式,其中0表示:某点是叶结点,该点对应边是扩展边,I中经过该边的次数是0。
  
  由图1也得如下关系,其中I4、I5、I6为0,因为点4、5、6是叶结点,内部路径长度I中经过该点到子女的边是扩展边;Ei表示E中从i直接到左右子女的边的次数。
  
  二、E=I+2n公式证明
  
  不失一般性,任一棵二叉树T中设其结点按1、2、3…(N为自然数)编号,设任一结点i左子孙的个数为ni左,右子孙的个数为ni右,从该点直接到左子女的边在I中的次数为AiI,从该点直接到右子女的边在I中的次数BiI,若此,从该点直接到左右子女的边在I中次数为Ii,并且有:Ii=AiI+BiI。根据二叉树路径长度定义,I是根结点到所有子孙结点的路径和,路径定义又是一点到另一子孙结点的边的和。所以有:AiI=ni左、BiI=ni右、 。因而,对任一点i有关系:Ii=AiI+BiI=ni左+ni右。
  又任一二叉树T中,设任一结点出度为i,其子孙结点个数为Ni、空域(指向子女的指针域为空)个数为Ni空、非空的域的个数为Ni非,由二叉树的性质知如下式成立:①N0+N1+N2=n;
  
  二叉树T中设任一结点为i,E中从i直接到左右子女的边的次数Ei,由E的定义知Ei=Ni Ei=Ni非+2。由I的定义知:Ii=Ni非,所以得⑧i=Ii+2。由E的定义有:
  
  证毕。
  
  三、结论
  
  证明的方法主要是:1.把每一条边经过的次数的规律找到。I中经过该边次数是其下结点的个数、E中经过该边次数是其下空域的个数。而每条边之下的空域个数又是n+1个(n表示其下结点个数),如图2所示。2.获得I中每一结点到左右子女的边的经过它的次数。也就是把直接连接左右子女的边的经过它们的次数相加,如图3所示。
  在上述第一点中获得的每一边的信息对同一父结点相加。3.把所有结点的到左右子女的边的经过它们的次数相加就得关系E=I+2n。每个结点与其直接相连的边的之间的关系如二叉树的定义,具有迭代关系,所以上述第二点得到的关系对每一点都成立。该证明方法是建立在对每一点、每一边的具体分析之上,所以能更多地掌握每一结点、每一边与I与E中的关系,因而有更广泛应用。
  
  参考文献:
  [1]张乃孝,算法与数据结构C语言描述(第2版)北京:高等教育出版社,2006.
  [2]Duane A.Bailey. Java Structuresta Structures in Java for the Principled Programmer(second edition).McGraw Hill Companies inc, 1999.
  [3]许卓群、张乃孝、杨冬青、 唐世渭,数据结构. 北京: 机械工业出版社,1987.
  [4]A.V.Aho, J.E.Hopcroft, J.D.Ullman. Data structures and Algorithm. Addison.
  
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
[摘要]IPv6是“Internet Protocol Version 6”的缩写,也被称作下一代互联网协议,它是由IETF设计的用来替代现行的IPv4协议的一种新的IP协议。  [关键词]IPV6协议 优势 网络安全   中图分类号:TP3文献标示码:A 文章编号:1671-7597 (2008) 0310034-01    一、推出IPV6的原因    目前因特网使用的地址都是IPv4地址IP
期刊
[摘要]讨论循环冗余校验码的原理,以ATM中的CRC为例,用FPGA实现并行计算  [关键词]CRC FPGA 并行  中图分类号:TP2文献标识码:A 文章编号:1671-7597(2008)0310011-01    一、CRC的数学原理    在一个(n,k)循环码中,仅存在一个r=n-k次的生成多项式G(x),其最高位和最低位系数恒为1,其他各项系数为0或1。将由信息帧组成的信息码多项式M
期刊
[摘要]目的:构建硒蛋白SelK的重组表达载体pGEX-6P-1-SelK-GFP。方法:利用PCR、酶切和连接酶连接等技术将硒蛋白selk连接到质粒pGEX-6P-1上,通过酶切、序列测定进行鉴定。通过IPTG诱导重组载体在BL21大肠杆菌中表达,并筛选最适诱导剂浓度和最适诱导时间。结果:成功在大肠杆菌中高效表达带有GST的SelK-GFP融合蛋白,占菌体总蛋白的15%,主要以包涵体形式表达。结
期刊
[摘要]数字身份是在数字网络等特定的环境下,区别于传统的身份辨识形式,对个人或团体属性独一无二的描述。认证又称为鉴别或鉴权,它用来证实被认证对象(人物或其他行为主体)是否名副其实或是否有效的一种过程。简要地探讨基于PKI的身份认证的技术问题。  [关键词]PKI 身份认证  中图分类号:TP3文献标示码:A文章编号:1671-7597 (2008) 0310033-01    一、身份认证技术  
期刊
[摘要]介绍采用GPRS(General Packet Radio Service,通用分组无线业务)技术作为GPS车载卫星定位系统的无线数据传输方法,提出通过GPRS模块来实现数据传输的方法,简要概括了软件设计。  [关键词]GPRS 车载导航 GPS  中图分类号:TN96文献标识码:A 文章编号:1671-7597(2008)0310018-01    一、系统的构成    本系统主要由车载
期刊
[摘要]随着钢铁企业陆续实施ERP信息化系统项目,决定项目实施成功与否的一个基础因素ERP系统的物料编码体系也备受关注。通过邯钢ERP项目实施的实例,介绍钢铁行业物料编码体系设计对项目实施的重要意义、设计原则、具体应用及实施效果。  [关键词]ERP 信息化系统 物料编码体系  中图分类号:TP3文献标示码:A文章编号:1671-7597 (2008) 0310032-01    在信息化推动企业
期刊
[摘要]研究一种VPN网关的设计方案,使工作在局域网的网关位置具有加密和认证功能:完成了采用IPSec的VPN网关设计,通过修改Linux内核可以实现基于IPSec的VPN网关,加快了处理速度并避免了操作系统本身的不安全性。  [关键词]VPN网关 IPSec协议 Linux内核  中图分类号:TP3文献标识码:A 文章编号:1671-7597 (2008) 0310028-01    一、设计方
期刊
[摘要]一种基于Trident Pro-QX数字电视系统的DDR2 400信号完整性设计、采用Cadence SPecctraQuest 仿真平台进行分析设计。类似于理论指导实践,来保证memory在高速状态下,保持稳定工作。从而达到研发成本最小,系统效率最大。  [关键词]DDR2 Pro-Qx 数字电视 信号完整性 Cadence SPecctraQuest  中图分类号:TN94文献标示码:
期刊
[摘要]讨论C语言教学中需要注意的几个问题,包括兴趣、实践、数学基础以及程序设计风格等问题。  [关键词]C语言 兴趣 程序设计  中图分类号:G43 文献标识码:A 文章编号:1671-7597(2008)0310067-01    C语言是计算机及其相关专业本科生的一门专业基础课,很多高校都将其作为学习计算机时的必修课程。学好C 语言既是学习C++、Windows编程等程序语言的基础,也是数据
期刊
[摘要]通过VB控件教学,讲述怎样教学生将专业知识和其它素质相结合起来,并系统化。  [关键词]visual basic 控件 对象 创造性 方法  中图分类号:G43 文献标识码:B 文章编号:1671-7597 (2008) 0310076-01    控件是面向对象的程序设计语言中的一大特色,它是面向对象程序设计中的一个基本组成部分,同样,在VISUAL BASIC语言中,它也给我们提供了丰
期刊