- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西电软件技术基础课件9-12树
树 ;本章要求;3;6.1 树的基本概念;树的基本术语
(1)结点(node):包含一个数据元素及若干指向其他结点的分支信息。
(2)结点的度(degree) 、树的度:结点所拥有的子树的棵数称为结点的度。树中结点度的最大值称为树的度。
如图6-1(b)中结点A的度是3 ,结点B的度是2 ,结点M的度是0,树的度是3。
;(3) 叶子(left)结点、非叶子结点
树中度为0的结点,即无后继的结点,称为叶子结点(或终端结点)。
度不为0的结点称为非叶子结点(或非终端结点或分支结点)。
除根结点外,分支结点又称为内部结点。
如图中结点F、H、I、J、K、L、M、N是叶子结点,而所有其它结点都是分支结点。
;(7)结点的(层次)路径、祖先、子孙
从根结点开始,到达某结点p所经过的所有结点成为结点p的层次路径(有且只有一条)。
结点p的层次路径上的所有结点(p除外)称为p的祖先。
以某一结点为根的子树中的任意结点称为该结点的子孙结点。
;(8)有序树和无序树
对于一棵树,若其中每一个结点的子树(若有)具有一定的次序,则该树称为有序树,否则称为无序树。
例如:
若T1,T2为有序树,它们是两棵不同的树;
若T1,T2为无序树,它们是两棵相同的树。
;(9)森林(forest):
m(m≥0)棵互不相交的树的集合。
显然,若将一棵树的根结点删除,剩余的子树就构成了森林。
;树的表示形式;树的表示形式;树的表示形式;树的表示形式;树的存储结构;6.2 二叉树的定义及其性质;二叉树的基本形态;二叉树与一般树型结构的主要区别;二叉树与一般树型结构的主要区别;二叉树的性质;二叉树的性质;二叉树的性质;满二叉树;满二叉树;完全二叉树;二叉树的性质;二叉树的性质;29;30;31;二叉树的存储结构;33;二叉树的顺序存储结构;二叉树的存储结构:顺序存储结构;链式存储结构;链式存储结构;链式存储结构;二叉树建立(二叉链表的建立);二叉树建立(二叉链表的建立);二叉树的建立算法;while(ch=getchar()!=‘#’) /* 输入一个字符,当不是结束符时执行以下操作 */{ s=NULL; if(ch!=‘@’) /* @表示虚结点,当不是虚结点则建立新结点 */ { s=(bitree*)malloc(sizeof (bitree)); s-data=ch; s-lchild=NULL; s-rchild=NULL; } rear++; /* 队尾指针增1,指向新结点地址应存放的单元 */ Q[rear]=s; /* 将新结点地址入队或虚结点指针NULL入队 */ if (rear==1) root=s; /* 输入的第一个结点作为根结点 */ else
{ if (s Q[front]) /* 孩子和双亲结点都不是虚结点 */ { if (rear % 2= =0) Q[front]-lchild=s; /*新结点是左孩子*/ else Q[front]-rchild=s;} /* 新结点是右孩子 */ if (rear % 2= =1) front++; /* 结点* Q[front]的两个孩子处理完毕,出队列 */
} } return root; /* 返回根指针 */} /* CREATREE */;6.3 遍历二叉树及其应用;深度优先遍历二叉树;45;先序遍历二叉树;先序遍历算法执行过程;48;中序遍历二叉树;中序遍历算法执行过程;后序遍历二叉树;后序遍历算法执行过程;非递归遍历方法;54;非递归遍历方法:中序优先;中序遍历非递归算法;非递归遍历方法:中序优先;广度优先(层次)遍历二叉树;二叉树的广度优先遍历实例;队列为空,算法结束。输出序列为:A,B,C,D,E,F,G;62;从遍历序列恢复二叉树;从遍历序列恢复二叉树;65;66;二叉树遍历算法的应用;二叉树遍历算法的应用;二叉树遍历算法的应用;二叉树遍历算法的应用;二叉树遍历算法的应用;二叉树遍历算法的应用;二叉树遍历算法的应用;6.4线索二叉树;75;6.4线索二叉树;6.4线索二叉树;线索二叉树的结点结构;线索二叉树的概念;80;线索二叉树的基本操作:线性化;线索二叉树的基本操作:线性化;建立中序线索二叉树;线索二叉树的基本操作;线索二叉树的基本操作;中序线索二叉树中查找结点前趋;线索二叉树的基本操作;线索二叉树的基本操作;中序线索
文档评论(0)