数据结构(java)-第6章树与二叉树-PPT.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《数据结构(java)-第6章树与二叉树-PPT.ppt》由会员分享,可在线阅读,更多相关《数据结构(java)-第6章树与二叉树-PPT.ppt(52页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构(java)-第6 章树与二叉树1.树的定义树(tree)是由n(n0)个有限数据元素组成的数据集合,其中数据元素被称为结点。同时,树还必须满足以下两个条件:1.在树中有一个特殊的结点被称为根结点,它只有后继结点,没有前驱结点。2.除根结点以外,其余结点可以分为m(m0)个互不相交的集合T1,T2,Tm,其中每一个集合Ti(1im)本身又是一棵树。树T1,T2,Tm称为根结点的子树。一.树的定义和基本术语 1.树的定义一.树的定义和基本术语 AC D BF E I G H2.基本术语 1)双亲结点、子结点、兄弟结点 如图6.2 中,B 结点为E 结点的双亲结点;A 结点为D 结点的双亲
2、结点;D 结点为I 结点的双亲结点 如图6.2 中,E 结点为B 结点的子结点;D 结点为A 结点的子结点;H 结点为D结点的子结点 如图6.2 中,B 结点和C、D 结点互为兄弟结点;结点G 和H 不为兄弟结点。2)叶子结点没有后继的结点称为叶子结点,如图6.2 中的E、F、G、H、I 结点。一.树的定义和基本术语 2.基本术语 3)结点的度结点的度是结点所拥有的子树的棵数。如图6.2 中,A 结点的度为3;C 结点的度为1;H 结点的度为0;4)树的度树的度是指树中各个结点度的最大值。如图6.2 中,由于A 结点的度为3,其余结点的度都小于3,所以图6.2 中树的度为3。5)结点的层次约定
3、根结点的层次为1,其余结点的层次都是在其双亲结点层次上加1。如图6.2 中,B 结点的双亲结点为根结点A,根结点A 的层次为1,所以B 结点的层次为2;同理,E 结点与F 结点的层次是相同的,都为3。一.树的定义和基本术语 2.基本术语 6)树的高度树的高度是指树中结点的最大层次数。如图6.2 中,由于结点E、F、G、H、I 的层次数都为3,其余结点的层次数都小于3,所以图6.2 中树的高度为3。7)森林森林是m(m0)棵互不相交的树的集合。如图6.3 即为一个森林。一.树的定义和基本术语 C D BF E I G H1.定义 二叉树(binary tree)是n(n0)个结点组成的有限集合,
4、并且每个结点最多有两棵子树。当n=0 时,二叉树被称为空二叉树 二叉树有以下五种基本形态:空二叉树,如图6.4 所示;只有根结点的二叉树,如图6.5 所示;只有根结点和左子树的二叉树,如图6.6 所示;只有根结点和右子树的二叉树,如图6.7 所示;有根结点、左子树和右子树的二叉树,如图6.8 所示;二.二叉树大家应该也有点累了,稍作休息大家有疑问的,可以询问和交流 大家有疑问的,可以询问和交流2.满二叉树 满二叉树是指除了叶子结点以外所有结点都存在左子树和右子树,并且所有叶子结点都在同一层上的二叉树。下图是一棵满二叉树。二.二叉树AC BE D G F3.完全二叉树 完全二叉树是指叶子结点只出
5、现在最下层和次下层,且最下层的叶子结点集中在树的左部的二叉树。下图是一棵完全二叉树。二.二叉树AC BE D1.遍历二叉树二叉树的遍历是指按照一定顺序,依次访问二叉树中所有结点,并且每个结点仅被访问一次。二叉树的遍历一般可分为三种次序遍历,分别是先根遍历、中根遍历和后根遍历。先根遍历:先访问根结点,再访问左子树,最后访问右子树。中根遍历:先访问左子树,再访问根结点,最后访问右子树。后根遍历:先访问左子树,再访问右子树,最后访问根结点。三.遍历二叉树和线索二叉树 1.遍历二叉树下图中,以A 为根结点的二叉树先根遍历的结果为ABDECFGH AC BD G FE H三.遍历二叉树和线索二叉树 1.
6、遍历二叉树二叉树先根遍历代码public void preOrder(BinaryTreeNode r)if(r!=null)System.out.print(r.getData()+);preOrder(r.getLeft();preOrder(r.getRight();三.遍历二叉树和线索二叉树 2.线索二叉树 线索二叉树的结点由5 个部分组成:数据域、左对象域、右对象域、左标志域、右标志域。如图6.21 为线索二叉树的结点。(二叉树不变的,所以各个的标志不变)当结点存在左子树时,左标志域为0,左对象域指向其左子树;当结点不存在左子树时,左标志域为1,左对象域指向该结点的前驱结点;(指遍历
7、的)当结点存在右子树时,右标志域为0,右对象域指向其右孩子;当结点不存在右子树时,右标志域为1,右对象域指向该结点的后继结点;(指遍历的)三.遍历二叉树和线索二叉树 2.线索二叉树 AS GK U T三.遍历二叉树和线索二叉树 2.线索二叉树 0 A 0 0 G 0 0 S 1 1 U 1 1 T 1 1 K 1 null三.遍历二叉树和线索二叉树 1.树的存储结构 树的存储结构通常有顺序存储和链式存储,分别使用数组和链表来存储。四.树和森林 1.树的存储结构 四.树和森林 AC BD G F EH1.树的存储结构树的双亲表示法 四.树和森林 1.树的存储结构树的孩子链表表示法 四.树和森林
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 java 二叉 PPT
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内