- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
左子结点/右兄弟结点表示法(2) * 内容 树的定义与术语 父指针表示法 树的实现 子结点表表示法 左子结点/右兄弟结点表示法 动态结点表示法 动态左子结点/右兄弟结点表示法 K叉树 树的顺序表示法 * Linked Implementations (1) * Linked Implementations (2) * 树替换为二叉树 左子结点/右兄弟结点表示法本质上使用二叉树来替换树. 使用这种方法可以把任意树替换为二叉树. 森林是一个或多个树的集合. * 内容 树的定义与术语 父指针表示法 树的实现 K叉树 树的顺序表示法 * 树的顺序表示法 (1) 按照先根周游的顺序访问结点的值. 节省空间,但是只允许顺序查找. 必须保留重建树结构的信息. 例子: 对于二叉树, 使用一个符号来标记null 指针. AB/D//CEG///FH//I// A B D C E G F H I * 树的顺序表示法(2) 例子: 对于满二叉树, 标记叶结点或分支结点. A’B’/DC’E’G/F’HI 例子: 对于树, 标记每个子树的结束. RAC)D)E))BF))) A B D C E G F H I R A D B C F E * 要点回顾 父指针表示法 树的实现 K叉树 树的顺序表示法 * 二叉树的(物理)存储结构 * 内容 二叉树的实现 使用数组实现二叉树 使用指针实现二叉树 * 对于满二叉树和完全二叉树,显然可以将二叉树的数据元素映射到一组连续的存贮单元,反之可以按向量的下标值确定相应数据元素在二叉树中的结点位置。 B D E A C F G H I A B C D E F G H I 1 2 3 4 5 6 7 8 9 完全二叉树 二叉树的数组实现 * 但对下列二叉树存于一向量中 B D E A C F G A B C D E F G 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 B C A D A B C 1 2 3 4 5 6 7 8 D * 显然要浪费大量的存贮单元,此外,若要在二叉树中插入或删除结点时,更为不便。因此,以顺序结构存贮一般的二叉树是不适宜的。通常情况下,采用多重链表结构(对于非满二叉树和非完全二叉树)来作为二叉树的存贮结构。 * 使用数组来实现完全二叉树 (1) Position 0 1 2 3 4 5 6 7 8 9 10 11 Parent -- 0 0 1 1 2 2 3 3 4 4 5 Left Child 1 3 5 7 9 11 -- -- -- -- -- -- Right Child 2 4 6 8 10 -- -- -- -- -- -- -- Left Sibling -- -- 1 -- 3 -- 5 -- 7 -- 9 -- Right Sibling -- 2 -- 4 -- 6 -- 8 -- 10 -- -- * Parent(r) = ?(r-1)/2? 当 0rn 时 Left child(r) = 2r+1 当 2r+1n 时 Right child(r) = 2r+2 当 2r+2n 时 Left sibling(r) = r-1 当r为偶数且 0rn 时 Right sibling(r) = r+1 当r为奇数且 r+1n 时 使用数组来实现完全二叉树 (2) * 二叉树 二叉树的实现 使用数组实现二叉树 使用指针实现二叉树 * Binary Tree Implementation (1) * * 实现树的最简单方法就是对每个结点只保存一个指针域指向其父结点。 父指针表示法的说明【P128 图6.5】 很明显,这种实现并非出于一般性的目的,因为。。。【P126最后一段】 * 【P131 6.3的一段】 --- The next several slides show various possible implementations for general trees. 以下几个页讲述了几种树的表示法。 A key gauge for the quality of these representations is how well they perform the key tasks of left-child, right-sibling, and parent. This representation is poor for finding the right sibling of a node. 衡量这些表示法的好坏是看它们完成关键任务(左孩子,右兄弟,父结点)的性能。 * 子结点表示法:这是一种很简单的表示方法,其中每个分支结点均存储
您可能关注的文档
- 外事经验交流.pptx
- 大数据块的传送.ppt
- 存储产品方案拓扑图合集.ppt
- 实战运营数据(含货品分析).ppt
- 实战运营数据.ppt
- 容量预警和扩容方案原则.pptx
- 常见动物黄怡佳.ppt
- 店铺数据分析和优化.ppt
- 徐洲 实验三十一乙酰水杨酸(阿司匹林)的合成.ppt
- 微机原理_80x86指令系统2.ppt
- DB44_T+2767-2025河口海湾总氮、总磷水质评价指南.docx
- 中医药科技成果转化评价技术规范.docx
- DB44_T+2750-2025农村供水工程数字化建设技术导则.docx
- DB44_T+2769-2025金属矿山生态修复技术规范.docx
- 镁合金航天航空零部件长效防护微弧氧化膜层工艺规范.docx
- 《甘青青兰中绿原酸和胡麻苷含量的测定 高效液相色谱法》发布稿.pdf
- DB44_T+753-2025声环境质量自动监测技术规范.docx
- 信息技术 智算服务 异构算力虚拟化及池化系统要求.docx
- DB44_T+2759-2025黄荆栽培技术规程.docx
- 废生物制药溶媒再生乙腈.docx
原创力文档


文档评论(0)