- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
chapter树和二叉树——树.ppt
4.2 树的存储结构 思考问题的出发点:如何表示结点的双亲和孩子 难点:如何表示树中结点之间的逻辑关系。 存储结构:数据元素以及数据元素之间的逻辑关系在存储器中的表示。 双亲表示法 基本思想:用一维数组来存储树的各个结点(一般按层序存储),数组中的一个元素对应树中的一个结点,包括结点的数据信息以及该结点的双亲在数组中的下标。 4.2 树的存储结构 data parent data:存储树中结点的数据信息 parent:存储该结点的双亲在数组中的下标 下标 data parent 0 1 2 3 4 5 6 7 8 A -1 B 0 C 0 D 1 E 1 F 1 G 2 H 2 I 4 4.2 树的存储结构 查找双亲结点方便,但查找孩子需遍历整个数组。 双亲表示法 A C B H F E D G I 链表中的每个结点包括一个数据域和多个指针域,每个指针域指向该结点的一个孩子结点。 4.2 树的存储结构 孩子表示法——链表表示 方案一:指针域的个数等于树的度 data child1 child2 …… childd 其中:data:数据域,存放该结点的数据信息; child1~childd:指针域,指向该结点的孩子。 4.2 树的存储结构 ∧ 缺点:浪费空间 A C B H F E D G I A B ∧ C ∧ D ∧ E ∧ F ∧ G ∧ H ∧ I ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ ∧ 4.2 树的存储结构 孩子表示法 方案二: 指针域的个数等于该结点的度 data degree child1 child2 …… childd 其中:data:数据域,存放该结点的数据信息; degree:度域,存放该结点的度; child1~childd:指针域,指向该结点的孩子。 方案一:指针域的个数等于树的度 4.2 树的存储结构 缺点:结点结构不一致 A C B H F E D G I A 2 B 3 C 2 E 1 I 0 G 0 H 0 F 0 D 0 孩子表示法 基本思想: 单链表存储每个结点的孩子,则n个结点共有 n 个孩子链表。 顺序表存储 n 个单链表的 n 个头指针,为了便于进行查找采用顺序存储。以数组的形式存储。 4.2 树的存储结构 结点结构: 将结点的所有孩子放在一起,构成线性表。 A C B H F E D G I 0 1 2 3 4 5 6 7 8 下标 data firstchild A B C D E F G H I ∧ ∧ ∧ ∧ 4.2 树的存储结构 如何查找孩子结点?时间性能? ∧ 1 2 ∧ 3 4 5 ∧ 7 ∧ 6 8 ∧ 如何查找双亲结点?时间性能? 双亲孩子表示法 4.2 树的存储结构 0 1 2 3 4 5 6 7 8 A -1 B 0 C 0 D 1 ∧ E 1 F 1 ∧ G 2 ∧ H 2 ∧ I 4 ∧ data parent firstchild 1 2 ∧ 3 4 5 ∧ 7 ∧ 6 8 ∧ A C B H F E D G I 孩子兄弟表示法 4.2 树的存储结构 A C B H F E D G I 某结点的第一个孩子是惟一的 某结点的右兄弟是惟一的 设置两个分别指向该结点的第一个孩子和右兄弟的指针 结点结构 firstchild data rightsib data:数据域,存储该结点的数据信息; firstchild:指针域,指向该结点第一个孩子; rightsib:指针域,指向该结点的右兄弟结点。 4.2 树的存储结构 孩子兄弟表示法 A C B H F E D G I
您可能关注的文档
- C++语法基础.ppt
- C++语言程序设计).ppt
- C++语言程序设计清华大学郑莉_.ppt
- c++语言程序设计第版.ppt
- C++语言程序设计第版第一章绪论.ppt
- C++语言程序设计第部分结构化扩充B.ppt
- c++语言设计.ppt
- C++课件IO流_二进制文件流.ppt
- C++课件__多任务与多线程编程.ppt
- C++课件多态性与虚函数.ppt
- 2023学年诸暨中学高三年级第二学期3月第二次模拟考试(政治)公开课教案教学设计课件资料.docx
- 运动的合成与分解(二)公开课教案教学设计课件资料.pptx
- 近五年浙江省各地图形的翻折(轴对称)原题公开课教案教学设计课件资料.doc
- 如何做教师-2019-11-13-中关村一小相关公开课教案教学设计课件资料.pptx
- 生活中的圆周运动 (水平面)正式版公开课教案教学设计课件资料.pptx
- 专题10 条件概率与全概率公式公开课教案教学设计课件资料.docx
- 金华市东阳市2019学年第二学期期末测试卷公开课教案教学设计课件资料.doc
- 5 琥珀(第二课时)【慕课堂版】公开课教案教学设计课件资料.pptx
- 项目五 打印米老鼠模型公开课教案教学设计课件资料.ppt
- (打印版)9月25日地理周练公开课教案教学设计课件资料.docx
最近下载
- 2024年全国突发急性传染病防控技能竞赛考试题库-下(判断、简答题汇总).pdf VIP
- 朱祖德等人编制的大学生自主学习量表(原量表+评分方式).pdf
- 2024年全国突发急性传染病防控技能竞赛考试题库-上(单选题汇总).pdf VIP
- 2024年全国突发急性传染病防控技能竞赛考试题库-中(多选题汇总).docx VIP
- 中国共产党百年党史最新版课件.ppt VIP
- 2024年低压电工(特种作业操作证)考试题库及答案(通用版).pdf VIP
- 全国突发急性传染病防控技能竞赛考试题及答案.doc VIP
- 微波与卫星通信演示版.ppt
- 财务共享最佳实践分享.pdf
- 互换性与测量技术基础(3D版)王长春习题答案.docx VIP
文档评论(0)