《数据结构小论文[沐风文苑].doc》由会员分享,可在线阅读,更多相关《数据结构小论文[沐风文苑].doc(4页珍藏版)》请在三一文库上搜索。
1、二叉树及其遍历XXX 2008XXXXXXXXXXXXXX 08XXXX指导教师 XXX摘 要 二叉树是另一种树形结构,它的特点是每个节点至多只有两棵子树(即二叉树中不存在度大于2的节点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。在二叉树的一些应用中,常常要求在数中查找具有某种特征的节点,或者对树中全部结点逐一进行某种处理。这就提出了一个遍历二叉树的问题,即如何按某条搜索路径巡访树中每个结点,使得每个结点均被访问一次,而且仅被访问一次。关键词 二叉树;遍历;结点1二叉树的类型与定义1.1二叉树的五种基本形态:N空树只含根结点NNNLRRL左子树为空树左右子树均不为空树1.2介绍基本术
2、语1.2二叉树的性质性质 1 :在二叉树的第 i 层上至多有2i-1 个结点。 (i1)用归纳法证明: 归纳基:i = 1 层时,只有一个根结点, 2i-1 = 20 = 1; 归纳假设:假设对所有的 j,1 j i,命题成立; 归纳证明:二叉树上每个结点至多有两棵子树,则第 i 层的结点数 = 2i-2 2 = 2i-1 。性质 2 :深度为 k 的二叉树上至多含 2k-1 个结点(k1)证明:基于上一条性质,深度为 k 的二叉树上的结点数至多为 20+21+ +2k-1 = 2k-1 性质 3 :对任何一棵二叉树,若它含有个叶子结点、 个度为 2 的结点,则必存在关系式: = +1证明:设
3、二叉树上结点总数 = + + 又二叉树上分支总数 = +而 = n-1 = + + - 1由此, = + 1两类特殊的二叉树:性质 4 :具有 n 个结点的完全二叉树的深度为 log2n +1证明:设 完全二叉树的深度为 k 则根据第二条性质得 2k-1 n 2k 即 k-1 log2 n k 因为 k 只能是整数,因此, k =log2n + 12二叉树的遍历2.1对“二叉树”而言,可以有三条搜索路径:1先上后下的按层次遍历;2先左(子树)后右(子树)的遍历;3先右(子树)后左(子树)的遍历。2.2遍历二叉树的递归算法定义先序遍历二叉树的操作定义为:若二叉树为空树,则空操作;否则,(1)访问根结点;(2)先序遍历左子树;(3)先序遍历右子树。中序遍历二叉树的操作定义为:若二叉树为空树,则空操作;否则,(1)中序遍历左子树;(2)访问根结点;(3)中序遍历右子树。后序遍历二叉树的操作定义为:若二叉树为空树,则空操作;否则,(1)后序遍历左子树;(2)后序遍历右子树;(3)访问根结点。例参考文献1严蔚敏.吴伟民.数据结构. 清华大学出版社,1997.2姚诗赋.数据库系统基础.计算机工程与应用,1981.3张乃孝.算法与数据结构.高等教育出版社,2005.4详参照