L第十二讲(二叉树性质及其遍历).pptVIP

  • 1
  • 0
  • 约5.74千字
  • 约 34页
  • 2018-11-21 发布于江苏
  • 举报
L第十二讲(二叉树性质及其遍历)

数据结构与算法 ---第十二讲 北方民族大学 计算机科学与工程学院 王伦津 研究员 12、二叉树的性质及二叉树的遍历 目 录 本讲小结 思考与练习 * * 二叉树的性质及其遍历 本讲给出二叉树基本性质的七个定理的证明,介绍二叉树的前序遍历、中序遍历、后序遍历和层序遍历思想,和二叉树的存储结构。 本讲的基本要求是:掌握二叉树的性质及其遍历思想 12.1二叉树的基本性质 12.1.1 定理1 满二叉树第i层上恰有2i-1个结点。(i≥1) 12.1.2 定理2 二叉树的第i层上结点个数不超过2i-1 个。 (i≥1) 12.1.3 定理3 深度为k的满二叉树有2k-1个结点。 12.1.4 定理4 深度为k的二叉树,至多有2k-1 个结点。 12.1.5 定理5 对任意一棵二叉树,有n0=n2+1,n=2n0+n1-1,其中,n0,n1和n2分别为度为0、1和2的结点的数目,n 表示结点总数。 12.1.6 定理6 具有n个结点的二叉树的深度为log2n+1。 12.2 二叉树的遍历 12.3 二叉树的存储结构 12.3.1 顺序存储结构 12.3.2 链式存储 12.1.7 定理7 若对一棵有n个结点的顺序二叉树的结点按层序编号,则对任一结点i(1≤i≤n),有(1)若i=1, 则结点i是根,无父亲;若i〉1,则其父亲是结点i/2。(2)若2in,则结点i无左儿子(从而也无右儿子,为叶子);否则i的左儿子是结点2i。(3)若2i+1n,则结点i无右儿子;否则右儿子是结点2i+1。 12.1 二叉树的基本性质 证:使用归纳法。i=1时,结论显然成立。设i=k时结论成立,则考虑i=k+1的情形。由于(k+1)层上结点是k层上结点的儿子,而且满二叉树每个非叶子结点恰好有两个儿子,故(k+1)层上结点个数为k层上结点个数的2倍,即2·2k-1 = 2k = 2(k+1)-1. 这表明,i=k+1时结论也成立。由归纳法原理,结论对任意的k都成立,证毕。 定理 1:满二叉树第i层上恰好有2i-1个结点(i≥1). 证:结点总数=        =  (定理 1)        = =2k-1.证毕。 定理 2:二叉树的第i层上结点个数不超过2i-1.(i≥1). 事实上,这是定理 1的直接推论,因为任何二叉树,只有满二叉树的结点最多。 定理 3:深度为k的满二叉树有2k-1个结点。 证:显然,n=n0+n1+n2 另一方面,由于二叉树除根外每个结点恰好有一个前趋,所以,非根结点恰与分枝一一对应,故有 n=B+1 (分支实际上就是树中的连线) 这里,B为分枝数目。又分枝是由度为1和2的结点射出的,故有 B=n1+2n2 结合上面三式,即可导出n0=n2+1与n=2n0+n1-1 定理 4:深度为k的二叉树,至多有(2k-1)个结点。 此乃定理 3的直接推论。 定理 5:对任一棵二叉树,有 n0=n2+1 n=2n0+n1-1 这里,n0、n1和n2分别为度为0、1和2的结点的数目,n表示结点总数。 证:设k为顺序二叉树的深度,由定理 4知 n ≤ 2k-1 由于这里n与2k均为整数,故n2k,从而 klog2n …………(a) 另一方面,由于是顺序二叉树,去掉最后一层后必为满二叉树,故(k-1)层以上结点总数为2k-1-1,因此有n2k-1-1。由于n与2k-1均为整数,为2k-1-1加一后,有可能与n相等,但不会变得大于n,故n≥2k-1,即 k≤log2n+1 …………..(b ) 现在,我们已得到(a)与(b)两式,即 log2n k≤log2n+1 由于k为整数,故必有k=[log2n]+1(见图 12?0) 定理 6:具有n个结点的顺序二叉树的深度为[log2n]+1(这里,符号[x]表示不大于x的最大整数)。 1单位 1单位,k所在区间 log2n lo

文档评论(0)

1亿VIP精品文档

相关文档