树与二叉树ppt课件.ppt
《树与二叉树ppt课件.ppt》由会员分享,可在线阅读,更多相关《树与二叉树ppt课件.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、树(树(非线性数据结构非线性数据结构) A A C C G G T T2 2 B B E E L L K KT T1 1 F FD D H H I I T T3 3J J M M现实世界中,能用树的结构表示的例子:现实世界中,能用树的结构表示的例子:学校的行政关系、书的层次结构、人类的家族血缘关学校的行政关系、书的层次结构、人类的家族血缘关系等。系等。计算机软件技术中,能用树的结构表示的例子:计算机软件技术中,能用树的结构表示的例子:操作系统中的多级文件目录结构,高级语言中源程序操作系统中的多级文件目录结构,高级语言中源程序的语法结构等。的语法结构等。有关树的基本术语有关树的基本术语: :1.
2、1. 结点(结点(NodeNode):树中的元素,包含数据项及若干指向其:树中的元素,包含数据项及若干指向其子树的分支。子树的分支。2.2. 结点的度(结点的度(DegreeDegree):结点拥有的子树数。:结点拥有的子树数。3.3. 结点的层次:结点的层次:从根结点开始算起,根为第一层从根结点开始算起,根为第一层. .4.4. 叶子(叶子(LeafLeaf):度为零的结点,也称端结点。:度为零的结点,也称端结点。5.5. 孩子(孩子(ChildChild):结点子树的根称为该结点的孩子结点。:结点子树的根称为该结点的孩子结点。6.6. 双亲(双亲(ParentParent):孩子结点的上层
3、结点,称为这些结点:孩子结点的上层结点,称为这些结点的双亲。的双亲。7.7. 兄弟(兄弟(SiblingSibling):同一双亲的孩子。:同一双亲的孩子。8.8. 深度(深度(DepthDepth) ): 树中结点的最大层次数。树中结点的最大层次数。9.9. 森林(森林(ForestForest):M M棵互不相交的树的集合。棵互不相交的树的集合。 A C G T2 B E L KT1 FD H I T3J M C G T2 B E L KT1 FD H I T3J M 树的存储结构可以采用具有多个指针域的多重链表,结点中树的存储结构可以采用具有多个指针域的多重链表,结点中指针域的个数应由树
4、的度来决定指针域的个数应由树的度来决定 但在实际应用中,这种存储结构并不方便,一般将树转化为但在实际应用中,这种存储结构并不方便,一般将树转化为二叉树表示,进行处理二叉树表示,进行处理 可以用树来表示算术表达式。可以用树来表示算术表达式。Edatapoint1point2point3ABCDFGHIJroot(a)(b)是一种重要的树形结构,其结构定义为:二叉是一种重要的树形结构,其结构定义为:二叉树是树是n(n0)n(n0)个结点的有限集,它或为空树个结点的有限集,它或为空树(n=0)(n=0),或由一,或由一个根结点和两棵分别称为根的左子树和右子树的、互不相个根结点和两棵分别称为根的左子树
5、和右子树的、互不相交的二叉树组成。交的二叉树组成。(Binary Tree)(Binary Tree)二叉树一种特殊的树型结构,特点是树中每个结二叉树一种特殊的树型结构,特点是树中每个结点只有两棵子树,且子树有左右之分,次序不能点只有两棵子树,且子树有左右之分,次序不能颠倒。颠倒。因为树的每个结点的度不同,存储困难,使对树因为树的每个结点的度不同,存储困难,使对树的处理算法很复杂。所以引出二叉树的讨论。的处理算法很复杂。所以引出二叉树的讨论。 空二叉树空二叉树 仅有仅有根结点根结点 右子右子树为空树为空 左子左子树为空树为空左右子树左右子树均非空均非空二叉树的结点的子树要区分左子树和右子树,即
6、二叉树的结点的子树要区分左子树和右子树,即使在结点只有一棵子树的情况下也要明确指出该子树是使在结点只有一棵子树的情况下也要明确指出该子树是左子树还是右子树。左子树还是右子树。1.1. 二叉树的第二叉树的第i i层上至多有层上至多有2 2i-1i-1(i i 1 1)个结点。个结点。2.2. 深度为深度为m m的二叉树中至多含有的二叉树中至多含有2 2m m-1-1个结点。个结点。3.3. 若在任意一棵二叉树中,有若在任意一棵二叉树中,有n n0 0个叶子结点,有个叶子结点,有n n2 2个度个度为为2 2的结点,则的结点,则:n n0 0=n=n2 2+1+1A AB BC CD DE EF
7、F性质性质1 1:二叉树的第二叉树的第i i层上至多有层上至多有2 2 i-1i-1(i i 1 1)个结点。个结点。证明:根据二叉树的特点,结论是显然的。证明:根据二叉树的特点,结论是显然的。性质性质2 2:深度为深度为m m的二叉树中至多含有的二叉树中至多含有2 2m m-1-1个结点。个结点。证明:深度为证明:深度为m m的二叉树最多有的二叉树最多有m m层,根据性质层,根据性质1 1,只要将第,只要将第1 1层层到第到第m m层的最大结点数相加,就可得到整个二叉树中结点的最层的最大结点数相加,就可得到整个二叉树中结点的最大值。大值。2 21-11-1+2+22-12-1+ +2+2m-
8、1m-1=2=2m m-1 -1 性质性质3 3:度为:度为0 0的结点总比度为的结点总比度为2 2的结点多一个。的结点多一个。设:有设:有n n0 0个叶子结点,有个叶子结点,有n n1 1个度为个度为1 1的结点,有的结点,有n n2 2个度为个度为2 2的结点,的结点, 则二叉树中结点总数为则二叉树中结点总数为:n=nn=n0 0+n+n1 1+n+n2 2 设所有进入分支的总数为设所有进入分支的总数为m,m,则总的结点个数为:则总的结点个数为:n=m+1n=m+1总的射出分支与总的进入分支数相等:总的射出分支与总的进入分支数相等:m=nm=n1 1+2n+2n2 2 因此:因此: n
9、n0 0+n+n1 1+n+n2 2=n=n1 1+2n+2n2 2+1 +1 所以:所以: n n0 0= n= n2 2+1 +1 A AB BC CD DE EF F4 42 23 31 15 56 67 78 89 9101011111212131314141515A AB BC CD DE EF FA AB BC CD DE EF F4 42 23 31 15 56 67 78 89 9101011111212131314141515用归纳法证明:用归纳法证明: i=1i=1,则结点数,则结点数=2=20 0 =1=1为根结点。为根结点。若已知若已知 i-1i-1层上结点数至多有层上
10、结点数至多有2 2(i-1)-1(i-1)-1=2=2i-2i-2 个,由于二叉树每个,由于二叉树每个结点度数最大为个结点度数最大为2 2,因此第,因此第i i层上结点数最多为第层上结点数最多为第i-1i-1层上结层上结点数的点数的2 2倍,即倍,即2 22 2i-2i-2=2=2i-1i-1。深度为深度为k k且含有且含有2 2k k-1-1个结点的二叉树。个结点的二叉树。特点:每一层上的结点数都特点:每一层上的结点数都是最大结点数。是最大结点数。 指深度为指深度为k k的,有的,有n n个结点个结点的,且每一个结点都与深度的,且每一个结点都与深度为为k k的满二叉树中编号从的满二叉树中编号
11、从1 1至至n n的结点的结点一一对应一一对应。4 42 23 31 15 56 67 78 89 91010111112121313141415154 42 23 31 15 56 67 78 89 9101011111212完全二叉树完全二叉树4 42 23 31 15 56 67 78 89 9101011111212非完全二叉树非完全二叉树(2) (2) 链式存储结构链式存储结构T16若父结点在数组中若父结点在数组中i i下标处,其左孩子在下标处,其左孩子在2 2* *i i处,右孩子在处,右孩子在2 2* *i+1i+1处。处。1111 A A B BC C F F E E D D
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二叉 ppt 课件
限制150内