数据结构树和二叉树

数据结构树和二叉树

ID:40220640

大小:1.63 MB

页数:108页

时间:2019-07-26

数据结构树和二叉树_第1页
数据结构树和二叉树_第2页
数据结构树和二叉树_第3页
数据结构树和二叉树_第4页
数据结构树和二叉树_第5页
资源描述:

《数据结构树和二叉树》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章树和二叉树第六章树和二叉树第六章树和二叉树6.1树的有关概念6.2二叉树6.3二叉树的遍历6.4遍历的应用6.5*线索二叉树(简单介绍)6.6树和森林6.7哈夫曼树及应用第六章树和二叉树6.1树的有关概念1.树的概念2.树的应用3.树的表示树的有关术语5树的基本操作6.1树的有关概念1.树的定义定义:树是n个结点的有限集合。在任一棵非空树中: (1)有且仅有一个称为根的结点;。 (2)其余结点可分为m个互不相交的有限集合,而且这些集合中的每一集合本身又是一棵树,称为根的子树。树是递归结构,在树的定义中又用到了树的概念JIACBDHGFE树结构(除了一个称为根的结点外)每个元素都有且仅

2、有一个直接前趋,有且仅有零个或多个直接后继。6.1树的有关概念从逻辑结构看: 1)树中只有根结点没有前趋; 2)除根外,其余结点都有且仅一个前趋;3)树的结点,可以有零个或多个后继; 4)除根外的其他结点,都存在唯一条从根到该结点的路径;5)树是一种分枝结构JIACBDHGFE6.1树的有关概念2.树的应用 1)树可表示具有分枝结构关系的对象例1.家族族谱例2.单位行政机构的组织关系、系统功能模块图6.1树的有关概念2)树是常用的数据组织形式 有些应用中数据元素之间并不存在间分支结构关系,但是为了便于管理和使用数据,将它们用树的形式来组织。例3计算机的文件系统 不论是DOS文件系统还是wi

3、ndow文件系统,所有的文件是用树的形式来组织的。MyComputerC:D:E:etcWINDOWSProgramFilesPictureMusic…………………………………………6.1树的有关概念3、树的基本术语1)结点的度:结点所拥有的子树的个数。2)树的度:树中各结点度的最大值。CGBDEFKLHMIJADA=3DB=2DC=1DG=0DTree=36.1树的有关概念3)叶子结点:度为0的结点,也称为终端结点。4)分支结点:度不为0的结点,也称为非终端结点。CGBDEFKLHMIJA叶子结点:{K,L,F,G,M,I,J}分支结点:{A,B,C,D,E,H}6.1树的有关概念5)孩

4、子、双亲:树中结点的子树的根结点称为这个结点的孩子结点,这个结点称为它孩子结点的双亲结点;6)兄弟:具有同一个双亲的孩子结点互称为兄弟。CGBDEFKLHMIJA孩子结点:{B,C,D}双亲结点:{A}兄弟结点:{E,F}6.1树的有关概念7)路径:如果树的结点序列n1,n2,…,nk有如下关系:结点ni是ni+1的双亲,则把n1,n2,…,nk称为一条由n1至nk的路径;路径上经过的边的个数称为路径长度。CGBDEFKLHMIJA结点序列:{nA,nB,nE,nK}路经长度=36.1树的有关概念8)祖先、子孙:在树中,如果有一条路径从结点x到结点y,那么x就称为y的祖先,而y称为x的子孙

5、。CGBDEFKLHMIJA6.1树的有关概念9)结点所在层数:根结点的层数为1;对其余任何结点,若某结点在第k层,则其孩子结点在第k+1层。10)树的深度:树中所有结点的最大层数,也称高度。1层2层4层3层高度=4CGBDEFKLHMIJC6.1树的有关概念11)有序树、无序树:如果一棵树中结点的各子树从左到右是有次序的(即不能互换),称这棵树为有序树;反之,称为无序树。ACBGFEDACBGFED数据结构中讨论的一般都是有序树6.1树的有关概念12)森林:m(m≥0)棵互不相交的树的集合。CBDEFKLHJA树中每一个结点的子树的集合即为森林。6.1树的有关概念树结构和线性结构的比较线

6、性结构树结构第一个数据元素根结点(只有一个)无前驱无双亲最后一个数据元素叶子结点(可以有多个)无后继无孩子其它数据元素其它结点一个前驱,一个后继一个双亲,多个孩子一对一一对多6.1树的有关概念4、树的基本操作树的应用很广,应用不同基本操作也不同。下面列举了树的一些基本操作:1)InitTree(&T);//构造空树T2)DestroyTree(&T);//销毁树T3)CreateTree(&T,definition);//按definition构造树T4)ClearTree(&T);//将树T清为空树5)TreeEmpty(T);//判断树T是否为空树6)TreeDepth(T);//求树

7、的深度7)Root(T);//返回树T的根值6.1树的有关概念8)Value(T,&cur_e);//求树T中结点cur_e的值9)Assign(T,cur_e,value);//把value赋值给树T的cur_e结点10)Parent(T,cur_e);//求树T中非根结点cur_e的双亲11)LeftChild(T,cur_e);//求树T中非叶子结点cur_e的左孩子12)RightSibling(T,cur_e)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。