1. 1、本文档共122页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
叶子结点

树 重点 树的基本概念和术语 二叉树的概念及性质 二叉树的存储结构 顺序存储 链式存储 遍历二叉树 递归算法 非递归算法 线索二叉树 树的应用:哈夫曼树 7.1 树的概念和性质 树的定义(P85) 树:n(n≥0)个结点的有限集合。当n=0时,称为空树;任意一棵非空树满足以下条件: ⑴ 有且仅有一个特定的称为根的结点; ⑵ 当n>1时,除根结点之外的其余结点被分成m(m0)个互不相交的有限集合T1,T2,… ,Tm,其中每个集合又是一棵树,并称为这个根结点的子树。 树的定义是采用递归方法 树的形式定义 D={ai | ai∈ElemSet,i=1,…,n} 二元关系S的定义: 当n=1时,S=φ; 当n1时: 树的基本术语(P86) 结点的度:结点所拥有的子树的个数。 叶子结点:度为0的结点,也称为终端结点。 分支结点:度不为0的结点,也称为非终端结点。 树的度:树中各结点度的最大值。 孩子、双亲:树中某结点子树的根结点称为这个结点的孩子结点,这个结点称为它孩子结点的双亲结点; 兄弟:具有同一个双亲的孩子结点互称为兄弟。 路径:如果树的结点序列n1, n2, …, nk有如下关系:结点ni是ni+1的双亲(1=ik),则把n1, n2, …, nk称为一条由n1至nk的路径;路径上经过的边的个数称为路径长度。 树的基本术语(续) 祖先、子孙:在树中,如果有一条路径从结点x到结点y,那么x就称为y的祖先,而y称为x的子孙。 结点所在层数:根结点的层数为1;对其余任何结点,若某结点在第i层,则其孩子结点在第i+1层。 树的深度:树中所有结点的最大层数,也称高度。 有序树、无序树:如果一棵树中结点的各子树从左到右是有次序的,称这棵树为有序树;反之,称为无序树。 森林:m (m≥0)棵互不相交的树的集合。 7.2 二叉树的概念和性质 研究二叉树的意义? 二叉树的结构相对简单,其运算也自然简单,便于初学者入门。 由于多叉树可以借助一定的规则转换为二叉树,因此二叉树结构在应用中具有非常重要的地位。 7.2 二叉树的概念和性质 二叉树的定义(P88) 二叉树是n(n≥0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。 7.2 二叉树的概念和性质 二叉树的特点 每个结点的度只可能是0,1,2; 二叉树是有序树,即使某结点只有一棵子树,也要区分该子树是左子树还是右子树。 7.2 二叉树的概念和性质 二叉树的5种基本形态(P89) 7.2 二叉树的概念和性质 7.2 二叉树的概念和性质 特殊的二叉树 满二叉树 在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上。 满二叉树的特点: 叶子只能出现在最下一层; 只有度为0和度为2的结点。 完全二叉树:深度为K的,有n个结点的二叉树,当且仅当其每一个结点都与深度为K的满二叉树从编号1到n的结点一一对应是时,称为完全二叉树。 7.2 二叉树的概念和性质 p89 性质1 :在一棵二叉树中,如果叶子结点数为n0,度为2的结点数为n2,则有: n0=n2+1。 性质2:二叉树的第i层上最多有2i-1个结点(i≥1)。 性质3:一棵深度为k的二叉树中,最多有2k-1个结点,最少有k个结点。 7.2 二叉树的概念和性质 7.2 二叉树的概念和性质 7.2 二叉树的概念和性质 性质六:给定n个结点,能构成H(n)种不同的二叉树: 考研真题 具有3个结点的二叉树有( )种 有10个叶子结点的二叉树中有( )个度为2的结点。 二叉树有10个度为2的结点,5个度为1的结点,则度为0的结点个数是( ) 一棵完全二叉树有1001个结点,其中叶子结点的个数是( ) 高度为4的完全二叉树至少有( )个结点 高度为5的完全二叉树至多有( )个结点 7.3.1 二叉树的顺序存储结构(P91) 二叉树的顺序存储结构就是用一维数组存储二叉树中的结点,并且结点的存储位置(下标)应能体现结点之间的逻辑关系——父子关系。 如何利用数组下标来反映结点之间的逻辑关系? 二叉树的性质5为二叉树的顺序存储指明了存储规则:依照完全二叉树的结点编号次序,依次存放各个结点。 注意:C/C++中数组的起始地址为0,编号为i的结点存储在下标为i?1的单元内。 完全二叉树和满二叉树中结点的序号可以唯一地反映出结点之间的逻辑关系 。 7.3.1 二叉树的顺序存储结构 7.3.1 二叉树的顺序存储结构 非完全二叉树修补结构不存在的结点,用特殊符号标识。 7.3.1 二叉树的顺序存储结构 顺序存储结构适用于? 完全二叉树 在最坏的情况下

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档