- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 树 6.1树的基本概念 树的基本概念 树的定义 树的定义 树的定义及特点 3.树的基本术语 树的基本术语 树的基本术语 树的抽象数据类型 树的抽象数据类型 树的抽象数据类型 6.1.2树的性质 树的性质 树的性质 6.2 二叉树 二叉树的定义 2.二叉树的抽象数据类型 二叉树的抽象数据类型 二叉树的抽象数据类型 6.2.2二叉树的性质 二叉树的性质 二叉树的性质 二叉树的性质 二叉树的性质 二叉树的性质 第六章习题(1) 6.2.3二叉树的存储结构 顺序存储结构 二叉树的存储结构 链式存储结构 建立二叉链表 建立二叉链表 建立二叉链表 6.3二叉树的遍历 二叉树的遍历 遍历的递归算法 6.3.2二叉树遍历算法的非递归形式 前序非递归遍历 2.中序遍历二叉树的非递归算法 中序非递归遍历 3.后序遍历二叉树的非递归算法 后序非递归遍历 后序非递归遍历 5.按层次遍历二叉树 按层次遍历 6.3.3遍历算法的应用 遍历算法的应用 3.求二叉树的深度 求二叉树的深度 求二叉树的深度 4.表达式求值 表达式求值 6.4线索二叉树 二叉树的线索化 二叉树的线索化 6.4.2建立线索二叉树 求前驱、后继 6.4.3线索二叉树的遍历 线索二叉树的遍历 6.4.4线索二叉树的更新 第六章习题(2) 6.5树和森林 双亲表示法 2.孩子表示法 孩子表示法 3)孩子链表示法 孩子链表示法 3.孩子-兄弟表示法(或二叉树表示法) 6.5.2森林和二叉树的转换 2.森林F转换成二叉树BT(F?BT) 3.二叉树BT恢复成森林F(BT?F) 6.5.3树和森林的遍历 2.后根遍历树T 3.先序遍历森林F 4.后序遍历森林F 6.6二叉树应用举例 2.树的路径长度 Huffman树(或H树) Huffman树(或H树) Huffman树 Huffman树 构造H树的C语言算法 构造H树的C语言算法 构造H树 6.5.2Huffman编码及译码 Huffman编码及译码 Huffman编码 Huffman编码 Huffman编码 2.Huffman译码 Huffman译码 第六章习题(3) 上机题4 第六章小结 若说明:Ptree pt,则pt为双亲表示法时的存储,pt.nodes[i].data为树中第i节点的数据值,而pt.nodex[i].parent为第i节点的双亲节点之序号。 例6-20 设树T如图6.36: A D F G C 1 2 3 4 5 6 7 8 9 B E H I 5 I 5 H 3 G 2 F 2 E 2 D 1 C 1 B 0 A parent data pt.nodes[1] 2 3 4 5 6 7 8 9 10 … 这种表示法利用了每节点(除根外)只有唯一双亲的性质,故查找某节点的双亲很方便。但确定某节点的孩子节点需遍历整个树的存储空间。如确定例6-20中节点E的孩子,因“E”的序号(或下标)为5,扫描整个数组空间,查找出parent域为5的那些节点,即是“E”的孩子节点。 该表示法是采用链表结构来存储树的信息。 1)固定指针数表示法:设树T的度为d(d叉树),即树中任一节点最多发出d个分支,所以节点定义为: 其中chi(1≤i≤d)为本节点第i个孩子节点的指针。 例6-21 设树T如图6.37所示。因为此树的度为4,所以给每个节点分配4个指针域,其存储结构如图所示。 data ch1 …… chd A B C D E F G G ^ ^ ^ ^ D ^ ^ ^ ^ E ^ ^ ^ ^ F ^ ^ ^ ^ C ^ ^ ^ ^ B A ^ ^ T 用固定指针数表示一棵树时,若树中节点数为n,非空指针数仅为n-1,而空指针数为nd-(n-1)=n(d-1)+1,显然当d很大时,是存储空间的浪费。 图6.37 2)可变指针数表示法 节点形式: 其中d为本节点的出度,chi为第i个孩子节点的指针。此表示法中,节点的指针数随其出度而定,如对例6-21中的树T,存储结构如图6.38: data ch1 …… chd d A B C D E F G C 0 A 2 T D 0 E 0 F 0 G 0 B 4 但此表示法其节点不规范,故给节点的描述及树的运算带来不便。 该表示法将树中每一节点的诸孩子组成单链表,若树中节点数为n,则有n个孩子链表。 头节点形式: 其中data域存放节点的数据值;parent域为该节点之父节点的序号;fchild为指向本节点第一个孩子的指针。 链表节点形式: 其中child为某孩子节点的序号,而next指向该子的右兄弟。 节点描述如下:typedef struct node //链表节点
您可能关注的文档
最近下载
- photoshop实验指导书..doc VIP
- 文献阅读与数学写作:微积分的创立与发展++课件-2024-2025学年高二下学期数学人教A版(2019)选择性必修第二册.pptx VIP
- TPM全员生产维护培训课件(课件-36张).ppt VIP
- 《全国食品安全监督抽检实施细则》复习测试卷附答案.doc
- 一种铁电负电容晶体管的电路仿真模型及建模方法.pdf VIP
- 《智慧化税费申报与管理》教案 项目八 资源税和环境保护税智慧化申报与管理.docx VIP
- 建筑法培训课件.ppt VIP
- 铜陵铜化集团招聘考试试题.pdf
- 食品抽检复习试题有答案.doc
- 2025年秋季《南京照相馆》开学第一课主题班会课件.pptx VIP
文档评论(0)