- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中序遍历线索二叉树 //0:有孩子;1:无孩子 Void InOrderTraverse_Thr(BiThrTree T)//T:头结点 { p = T-lchild; while(p != T){ while(p-LTag == 0) p=p-lchild; coutp-data“”; while((p-RTag==1)(p-rchild!=T)) p = p-rchild; coutp-data“”; } p = p-rchild; } } 建立线索化链表(以中序为例) 按某种次序将二叉链表线索化,实质是在遍历过程中用线索取代空指针。 4. 几个问题 ①给定树的先根遍历序列和后根遍历序列可唯一画出一棵树。 ②给定森林的先序遍历序列和后序遍历序列可唯一确定一森林。 ③关于二叉树的先序、中序和后序遍历序列确定二叉树的问题。 作业: 6.14 6.15 6.33 6.42 6.19 6.20 6.23 6.24 6.28 6.29 树的双亲存储结构示意图 #define MAX_TREE_SIZE 100 typedef struct PTNode{ TElemType data; int parent; }PTNode; Typedef struct{ PTNode nodes[MAX_TREE_SIZE]; int r, n; //根的位置和结点数 }PTree; 双亲表示法的类型说明: 孩子表示法:①定长结点长度 空链域个数:nk – (n-1) = n(k-1)+1. ②把每个结点的孩子结点排列起来,构成一个单链表, 称为孩子链表。n个结点共有n个孩子链表(叶子结点的孩子链表为空表),而n个结点的数据和n个孩子链表的头指针又组成一个顺序表。 typedef struct CTNode { /* 孩子结点的定义 */ int Child; /* 该孩子结点在线性表中的位置 */ struct CTNode *next; /* 指向下一个孩子结点的指针 */ }*ChildPtr; typedef struct { /* 顺序表结点的结构定义 */ TElemType data; /* 结点的信息 */ ChildPtr FirstChild ; /* 指向孩子链表的头指针 */ }CTBox; typedef struct { /* 树的定义 */ CTBox nodes[MAX_TREE_SIZE]; /* 顺序表 */ int root, num; /* 根结点的位置和树的结点个数 */ } CTree; 孩子兄弟表示法 typedef struct CSNode { ElemType data; /*结点信息*/ Struct CSNode *FirstChild, *NextSibling; /*第一个孩子, 下一个兄弟*/ }CSNode, *CSTree; 这种存储结构便于实现树的各种操作。 树的孩子兄弟链存储结构示意图 2. 树、森林与二叉树的相互转换 树转换为二叉树 (1)在所有相邻兄弟结点之间加一水平连线。 (2)对每个非叶结点k,除了其最左边的孩子结点外,删去k与其他孩子结点的连线。 (3)所有水平线段以左边结点为轴心顺时针旋转45度,使之结构层次分明。 树做这样的转换所构成的二叉树是唯一的。 树与二叉树的对应 森林转换为二叉树 森林也可以方便地用孩子兄弟链表表示。森林转换为二叉树的方法如下: (1)将森林中的每棵树转换成相应的二叉树。 (2)第一棵二叉树不动,从第二棵二叉树开始,依次把后一棵二叉树的根结点作为前一棵二叉树根结点的右孩子, 当所有二叉树连在一起后,所得到的二叉树就是由森林转换得到的二叉树。 二叉树还原为树或森林 将一棵二叉树还原为树或森林,具体方法如下: (1) 若某结点是其双亲的左孩子,则把该结点的右孩子、 右孩子的右孩子……都与该结点的双亲结点用线连起来。 (2) 删掉原二叉
您可能关注的文档
- 武汉理工大学物流系统建模与仿真课件第六章 仿真软件介绍与使用.ppt
- 武汉理工大学物流系统建模与仿真课件第七章 仿真软件使用与建模方法实践.ppt
- 武汉理工大学物流系统建模与仿真课件第三章 实体流图法及其制作.ppt
- 武汉理工大学物流系统建模与仿真课件第十一章 库存系统仿真.ppt
- 武汉理工大学物流系统建模与仿真课件第十章 排队系统仿真.ppt
- 武汉理工大学物流系统建模与仿真课件第四章 PN建模方法及制作.ppt
- 武汉理工大学物流系统建模与仿真课件第五章 建模方法讨论与习题.ppt
- 武汉理工大学物流系统建模与仿真课件第一章第二节 物流系统概述.ppt
- 武汉理工大学物流系统建模与仿真课件第一章第一节 课程导论.ppt
- 武汉理工大学信号与系统课件第六章 离散时间信号与系统的Z域分析.ppt
- 西安电子科技大学计算机学院数据结构课件 第6章(3).ppt
- 西安电子科技大学计算机学院数据结构课件 第7章(1).ppt
- 西安电子科技大学计算机学院数据结构课件 第7章(2).ppt
- 西安电子科技大学经济管理学院应用统计学课件第八章 方差分析.ppt
- 西安电子科技大学经济管理学院应用统计学课件第二章 数据搜集.ppt
- 西安电子科技大学经济管理学院应用统计学课件第九章 相关与回归.ppt
- 西安电子科技大学经济管理学院应用统计学课件第六章 参数估计与假设检验.ppt
- 西安电子科技大学经济管理学院应用统计学课件第三章 数据整理.ppt
- 西安电子科技大学经济管理学院应用统计学课件第十一章 指数.ppt
- 西安电子科技大学经济管理学院应用统计学课件第十章 时间序列分析.ppt
文档评论(0)