- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第七 树和二叉树
树和二叉树 本讲内容 树的定义、表示方法和存储结构 二叉树、满二叉树和完全二叉树的概念 二叉树的前序、中序、后序和层序遍历算法 线索二叉树 哈夫曼树和哈夫曼编码 树与二叉树的转换,树的遍历 树 树的定义 树是由n(n≥0)个节点构成的满足以下条件的节点集合: 当n0时,有一个特殊的节点称为根节点,根节点没有前驱节点; 当n1时,除根节点外的其他节点被分成m(m0)个互不相交的集合T1, T2,…, Tm,其中每一个集合Ti(1≤i≤m)本身又是一棵结构和树结构类同的子树。 树的示例: 基本概念 节点:节点由数据元素和构造数据元素之间关系的指针 组成。 节点的度:节点所连接的边的数目称为该节点的度。 叶节点:度为1的节点称为叶节点,叶节点也称作终端节点。 分支节点:非叶节点称为分支节点。 孩子节点:树中一个节点的子树的根节点称作这个节点 的孩子节点。 基本概念(Cont) 双亲节点:若树中某节点有孩子节点,则这个节点就称作它的孩子节点的双亲节点。 兄弟节点:具有相同的双亲节点的节点称为兄弟节点。 树的度:树中所有节点的度的最大值称为该树的度。 节点的层次:从根节点到树中某节点所经路径上的分节点数。 基本概念(Cont) 树的深度:树中所有节点的层次的最大值称为该树的深度。 无序树:树中任意一个节点的各孩子节点的排列没有严格次序的树称为无序树。 有序树:树中任意一个节点的各孩子节点的排列有严格次序的树称为有序树。 森林:m(m≥0)棵树的集合称为森林。 树的表示 树的接口定义 双亲节点parent() 左孩子节点leftChild() 右兄弟节点rightSibling() 遍历树traverse(vs) 树的存储结构—双亲表示法 双亲表示法就是用指针表示出每个节点的双亲节点。 对于使用仿真指针的双亲表示法来说,每个节点应有两个域,一个是数据元素域,另一个是指示其双亲节点在数组中下标序号的仿真指针域。 树的存储结构—双亲表示法(Cont) 树的存储结构—孩子表示法 用指针表示出每个节点的孩子节点。 树的存储结构—双亲孩子表示法 用指针既表示出每个节点的双亲节点,也表示出每个节点的孩子节点。 树的存储结构—孩子兄弟表示法 用指针表示每个节点的孩子节点和兄弟节点。 二叉树 二叉树是n(n≥0)个节点构成的、每个节点最多只有两个子树的有序树。 满二叉树:在一棵二叉树中,如果所有分支节点都存在左子树和右子树,并且所有叶子节点都在同一层上。 完全二叉树:如果一棵具有n个节点的二叉树的逻辑结构与满二叉树的前n个节点的逻辑结构相同。 二叉树(Cont) 满二叉树和完全二叉树 二叉树的接口定义 双亲节点parent() 左孩子节点leftChild() 右孩子节点rightSibling() 左插入节点insertLeftNode(x) 右插入节点insertRightNode(x) 左删除子树deleteLeftTree() 右删除子树deleteRightTree() 遍历二叉树traverse(vs) 二叉树的性质 性质1 若规定根节点的层次为0,则一棵非空二叉树的第i层上最多有2i(i≥0)个节点。 性质2 若规定空二叉树树的深度为-1(即根节点的深度为0),则深度为k的二叉树的最大节点数是2k+1-1(k≥-1)个。 性质3 具有n个节点的完全二叉树的深度k为不超过log2(n+1)-1的最大整数。 性质4 对于一棵非空的二叉树,如果叶节点数为n0,恰有两个儿子节点的节点数为n2,则有n0= n2+1。 二叉树的性质(Cont) 性质5 对于具有n个节点的完全二叉树,如果按照从上至下和从左至右的顺序对所有节点从0开始顺序编号,则对于序号为i的节点,有: 如果i0,则序号为i节点的双亲节点的序号为 (i-1)/2(“/”表示整除);如果i=0,则序号为i节点为根节点,无双亲节点。 如果2×i+1n,则序号为i节点的左孩子节点的序号为2×i+1;如果2×i+1≥n,则序号为i节点无左孩子节点。 如果2×i+2n,则序号为i节点的右孩子节点的序号为2×i+2;如果2×i+2≥n,则序号为i节点无右孩子节点。 二叉树的顺序存储结构 非完全二叉树的顺序存储结构 二叉树的链式存储结构 二叉树的链式存储结构是用指针建立二叉树中节点之间的关系。 二叉链存储结构的二叉树 (a)不带头节点的二叉树 (b)带头节点的二叉树 二叉树的仿真指针存储结构 二叉树的仿真指针存储结构是用数组存
您可能关注的文档
最近下载
- UbuntuLinux操作系统第2版(微课版)钟小平课后习题答案.doc VIP
- 输电线路三跨的经验分享.ppt VIP
- 电动汽车分布式驱动系统动力学分析与优化设计.docx VIP
- 专题1.4数轴与动点经典题型(四大题型)(原卷版+解析).docx VIP
- 幼儿小蝌蚪找妈妈绘本ppt课件.pptx VIP
- 磷酸铁行业现状.docx VIP
- 马克思主义与社会科学方法论课后习题答案(2018版).pdf VIP
- 6.1 树立法治观念 统编版道德与法治八年级上.pptx VIP
- GB_T 43933-2024 金属矿土地复垦与生态修复技术规范.pdf VIP
- 车牌识别系统软件使用说明8.1软件基本设置.pdf VIP
原创力文档


文档评论(0)