二叉树内部顶点与外部顶点在数量上的关系

分析一些树的算法时,我们常常需要以给定的二叉树的顶点数n(T) 来度量问题实例的规模。而这个顶点数n(T) 指的就是树的扩展形式中所有顶点的个数,这些顶点分两类,一类是外部顶点,一类就是内部顶点。根据定义,一颗扩展的空二叉树是一个单独的外部顶点。

为了确定一些算法(递归的求树的高度,递归的前序、中序、后续遍历,求叶节点数等等)的效率,我们需要知道一颗包含n 个内部顶点的扩展二叉树最多能够具有几个外部顶点。考察几个例子后,我们容易做出这种假设:外部顶点的数量x 比内部顶点的数量大一,即

     x = n + 1。

在n ≥ 0 的情况下,我们对内部顶点使用强数学归纳法来证明该等式。

归纳基础:n = 0 时,根据定义,一颗空树只有一个外部顶点,满足等式 x = n + 1。

归纳假设:假设当任意二叉树具有0 ≤ k ≤ n 个内部顶点时,x = k + 1。

     下面我们证明当k = n + 1 时命题依然成立。不失一般性,假设T 的左子树的内部顶点和外部顶点的个数分别是nL 和 xL,T 的右子树的内部顶点和外部顶点的个数分别是nR 和xR,左右子树内部节点的个数满足我们的归纳假设,因此我们有

     x = xL + xR = (nL+1) + (nR+1) = n + 1。命题得证。

时间: 2024-11-09 05:17:08

二叉树内部顶点与外部顶点在数量上的关系的相关文章

vSphere虚拟化之外部存储部署(上)

知识部分1.ESXi存储:分为外部共享存储和本地存储·外部共享存储:指ESXi主机通过网络连接的外部存储和磁盘阵列,其中包括SAN.iSCSI.NFS等存储协议.今天外部共享存储用openfiler来做.2.openfiler:是一个免费得NAS\iSCSI的SAN服务器系统,支持NFS.SMB.iSCSI.Target等连接方式:一般openfiler通过网页连接进行管理:适合小型企业搭建虚拟化.实验部分拓扑:环境:在openfiler中连接三块足够同样大小容量的硬盘(准备做RAID5卷),所

二叉树中总分支数与总结点数的关系

对任何一个二叉树,若齐叶子结点数为n0,度为2的结点数为n2,则n0=n2+1.证明如下: 设一颗二叉树上叶子结点数为n0,单分支结点数为n1,双分支结点数为n2,则总结点数为:n0+n1+n2. 而一颗二叉树中,所有结点的分支数(即度数)应等于单分支结点数加上双分支结点数的两倍,即总分支数=n1+2n2. 由于二叉树中除了根结点以外,每个结点都有唯一的一个分支指向它,因此二叉树中:总分支数=总结点数-1. 即n1+2n2=n0+n1+n2-1.即n0=n2+1.

自定义点与地图覆盖物上的关系判断处理

<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>GeoUtils示例</title> <script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2"&

cocostudio临时改变骨骼或图层的上下层关系

cocostudio 做骨骼动画的时候,可能会遇到图层的显示上下层需要换一下,如何实现呢? 例如:动作1: A骨骼在B骨骼上面,而动作2:A骨骼在B骨骼下面. 解决方法:可以调整每一帧的骨骼的帧层次,就可以解决这个问题. 注:需要cocostudio 版本1.4及1.4以上 参考:http://www.cocoachina.com/bbs/read.php?tid-203481.html

微信、微博好友数据结构

如何理解“图”? 我们前面讲过了树这种非线性表数据结构,今天我们要讲另一种非线性表数据结构,图(Graph).和树比起来,这是一种更加复杂的非线性表结构. 我们知道,树中的元素我们称为节点,图中的元素我们就叫作顶点(vertex).从我画的图中可以看出来,图中的一个顶点可以与任意其他顶点建立连接关系.我们把这种建立的关系叫作边(edge). 我们生活中就有很多符合图这种结构的例子.比如,开篇问题中讲到的社交网络,就是一个非常典型的图结构. 我们就拿微信举例子吧.我们可以把每个用户看作一个顶点.如

7.关系映射(待续)

这里指的是对象之间在数量上的关系,包括一对一.一对多.多对一.多对多四种. 单向与双向映射是编程角度的区别,在数据库角度讲,是没有区别的(即单向的数据库表与双向的数据库表是一模一样的) 双向关联必设mappedBy! 一对一单向外键关联@OneToOne @JoinColumn一对一双向外键关联@OneToOne(mappedBy="***") 一对一单向主键关联@OneToOne @PrimaryKeyJoinColumn  //很少用一对一双向外键关联@OneToOne(mappe

swust oj 603--吃饺子大王

题目链接:http://acm.swust.edu.cn/problem/603/ Time limit(ms): 1000 Memory limit(kb): 65535 同学们还记得我们班大一时举行的吃饺子大赛这个有趣的活动吧,相信这次活动会给软件0604班的同学们留下一生的美好回忆. 现在,作为大赛的评委henry,遇到了一个难题,就是他在统计一个小组同学每个人吃饺子数量的时候,这个小组的同学并没有明确的给出自己吃饺子的准确数量,估计是自己吃的太多了数不清了^_^,他们只是给出了与同一组其

遗传分化一些基本概念

群体遗传学中衡量群体间分化程度的指标有很多种,最常用的就是Fst指数. Fst指数,由F统计量演变而来.F统计量(FIS,FIF,FST)主要有三种. Fst是针对一对等位基因,如果基因座上存在复等位基因,则需要用Gst衡量,基因差异分化系数(gene differentiation coefficient,Gst). 假定有s个地方群体,第k个地方群体相对大小为wk,第k个地方群体中第i个等位基因频率为qk(i),杂合体频率观察值为hk,那么整个群体中观察到的杂合体频率平均值HI,地方群体为理

数据结构基础温故-4.树与二叉树(上)

前面所讨论的线性表元素之间都是一对一的关系,今天我们所看到的结构各元素之间却是一对多的关系.树在计算机中有着广泛的应用,甚至在计算机的日常使用中,也可以看到树形结构的身影,如下图所示的Windows资源管理器和应用程序的菜单都属于树形结构.树形结构是一种典型的非线性结构,除了用于表示相邻关系外,还可以表示层次关系.本文重点讨论树与二叉树的基本结构和遍历算法等内容. 一.好大一棵树,绿色的祝福 1.1 树的基本概念 Defination:树(Tree)是 n(n≥0)个结点的有限集.n=0时,该树