- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ch3-5补充-树形结构--4解析,json解析成树形结构,java解析树形结构json,解析xml生成树形菜单,树形结构,mysql树形结构查询,excel树形结构,java实现树形结构,jquery组织结构树形图,sql树形结构查询
Ch补充 树形结构 高文宇 gwyy@163.com 树形结构 树的基本概念 二叉树概念和性质 二叉树存储结构 二叉树的遍历 二叉树的基本运算及其实现 二叉树的构造和计数 哈夫曼树 树的表示 树形表示法 文氏图 凹入表示法 括号表示法 树的基本术语 1. 结点的度与树的度:树中某个结点的子树的个数称为该结点的度。树中各结点的度的最大值称为树的度,通常将度为m的树称为m次树。 2. 分支结点与叶结点:度不为零的结点称为非终端结点,又叫分支结点。度为零的结点称为终端结点或叶结点。在分支结点中,每个结点的分支数就是该结点的度。如对于度为1的结点,其分支数为1,被称为单分支结点;对于度为2的结点,其分支数为2,被称为双分支结点,其余类推。 树的基本术语 3. 路径与路径长度:对于任意两个结点ki和kj, 路径就是从ki出发“自上而下”到达kj所通过的树中结点序列。显然,从树的根结点到树中其余结点均存在一条路径。 4. 孩子结点、双亲结点和兄弟结点:在一棵树中,每个结点的后继,被称作该结点的孩子结点(或子女结点)。相应地,该结点被称作孩子结点的双亲结点(或父母结点)。具有同一双亲的孩子结点互为兄弟结点。进一步推广这些关系,可以把每个结点的所有子树中的结点称为该结点的子孙结点,从树根结点到达该结点的路径上经过的所有结点被称作该结点的祖先结点。 树的基本术语 5. 结点的层次和树的高度:树中的每个结点都处在一定的层次上。结点的层次从树根开始定义,根结点为第1层,它的孩子结点为第2层,以此类推,一个结点所在的层次为其双亲结点所在的层次加1。树中结点的最大层次称为树的高度(或树的深度)。 6. 有序树和无序树:若树中各结点的子树是按照一定的次序从左向右安排的,且相对次序是不能随意变换的,则称为有序树,否则称为无序树。 7. 森林:n(n>0)个互不相交的树的集合称为森林。森林的概念与树的概念十分相近,因为只要把树的根结点删去就成了森林。反之,只要给n棵独立的树加上一个结点,并把这n棵树作为该结点的子树,则森林就变成了树。 树的性质 性质1 树中的结点数等于所有结点的度数加1。 性质2 度为m的树中第i层上至多有______个结点,这里应有i≥1。 性质3 高度为h的m次树至多有______个结点。 性质4 具有n个结点的m次树的最小高度为______。 树的基本运算 树的运算主要分为三大类: 1. 寻找满足某种特定关系的结点,如寻找当前结点的双亲结点等; 2. 插入或删除某个结点,如在树的当前结点上插入一个新结点或删除当前结点的第i个孩子结点等; 3. 遍历树中每个结点。 树的遍历 树的遍历运算是指按某种方式访问树中的每一个结点且每一个结点只被访问一次。 1. 先根遍历 先根遍历过程为: (1)访问根结点; (2)按照从左到右的次序先根遍历根结点的每一棵子树。 2. 后根遍历 后根遍历过程为: (1)按照从左到右的次序后根遍历根结点的每一棵子树; (2)访问根结点。 树的存储结构 1. 双亲存储结构 这种存储结构是一种顺序存储结构,用一组连续空间存储树的所有结点,同时在每个结点中附设一个伪指针指示其双亲结点的位置。 树的存储结构 2. 孩子链存储结构 孩子链存储结构可按树的度(即树中所有结点度的最大值)设计结点的孩子结点指针域个数。下图(a)的树对应的孩子链存储结构如图(b)所示。 树的存储结构 3. 孩子兄弟链存储结构 孩子兄弟链存储结构是为每个结点设计三个域:一个数据元素域,一个该结点的第一个孩子结点指针域,一个该结点的下一个兄弟结点指针域。下图(a)的树对应的孩子兄弟链存储结构如图(b)所示。 二叉树 二叉树是有限的结点集合,这个集合或者是空,或者由一个根结点和两棵互不相交的称为左子树和右子树的二叉树组成。二叉树的定义是一种递归定义。 二叉树有五种基本形态,如下图所示,任何复杂的二叉树都是这五种基本形态的复合。 满二叉树 在一棵二叉树中,如果所有分支结点都有左孩子结点和右孩子结点,并且叶结点都集中在二叉树的最下一层,这样的二叉树称为满二叉树。下图所示就是一棵满二叉树。可以对满二叉树的结点进行连续编号,约定编号从树根为1开始,按照层数从小到大、同一层从左到右的次序进行。图中每个结点外边的数字为对该结点的编号。 完全二叉树 若二叉树中最多只有最下面两层的结点的度数可以小于2,并且最下面一层的叶结点 都依次排列在该层最左边的位置上,则这样的二叉树称为完全二叉树。如下图所示为一棵完全二叉树。同样可以对完全二叉树中每个结点进行连续编号,编号的方法同满二叉树相同。图中每个结点外边的数字为对该结点的编号。 二叉树的性质 性质1 非空二叉树上叶结点数等于双分支结点数加1。即:n0=n
文档评论(0)