- 1、本文档共91页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[信息与通信]树
6.2.2 树的表示 (1)树形图表示??? 树形图表示是树结构的主要表示方法。??? 树的树形图表示中:结点用圆圈表示,结点的名字写在圆圈旁边(有时亦可写在圆圈内)。 (2)树的其他表示法① 嵌套集合表示法??? 是用集合的包含关系来描述树结构。? 上图(a)树的嵌套集合表示法如图(b)? ?② 凹入表表示法??? 类似于书的目录,上图(a)树的凹入表示法如图(c)③ 广义表表示法??? 用广义表的形式表示的。上图(a)树的广义表表示法如图(d) (A(B(E,F(I,J)),C,D(G,H))) 6.4.4 思考 已知一棵二叉树的前序跟中序遍历序列,是否能求得这棵二叉树? 6.4.5 二叉树的应用 二叉树的初始化 void CreateBinTree (BinTree *T)????? { //构造二叉链表。T是指向根指针的指针,故修改*T就修改了实参(根指针)本身??????? char ch;??????? if((ch=getchar())==) T=NULL; //读人空格,将相应指针置空???????? else{ //读人非空格????????????? *T=(BinTNode *)malloc(sizeof(BinTNode)); //生成结点????????????? (*T)-data=ch;????????????? CreateBinTree((*T)-lchild); //构造左子树????????????? CreateBinTree((*T)-rchild); //构造右子树???????????? }????? } 6.6.3 森林与二叉树之间的转换 图6.18 森林转换为二叉树 6.4.1 先序遍历 先序遍历可以递归地描述如下: 如果二叉树为空,则空操作,否则: ① 访问根结点; ② 按先序次序遍历左子树; ③ 按先序次序遍历右子树。 先序遍历的递归算法如下: /*算法描述6.2 先序遍历的递归算法*/ void preorder(BTlink * p) { if(p!=NULL) {printf(%c\n,p-data); /*访问根结点*/ preorder(p-lch); /*按先根次序遍历左子树*/ preorder(p-rch); /*按先根次序遍历右子树*/ } } /*preorder*/ 图6.11 遍历序列示例 6.4.2 中序遍历 中序遍历可以递归地描述如下: 如果二叉树为空,则空操作,否则: ① 按中序次序遍历左子树, ② 访问根结点, ③ 按中序次序遍历右子树。 中序遍历递归算法如下: /*算法描述6.3 中序遍历的递归算法*/ void inorder(BTlink *p) {if (p!=NULL) {inorder(p-lch); /*中序遍历左子树*/ printf(%c\n,p-data); /*访问根结点*/ inorder(p-rch); /*中序遍历右子树*/ } }/*inorder*/ 例如,图6.11(a)所示二叉树的中根遍历序列为BAC, 图6.11(b)所示二叉树的中根遍历序列为BCAEDF。 6.4.3 后根遍历 后根遍历可以递归地描述如下: 如果二叉树为空,则空操作,否则: ① 后序遍历左子树; ② 后序遍历右子树; ③ 访问根结点。 后根遍历递归算法如下: /*算法描述6.4 后序遍历的递归算法*/ void postorder (BTlink* p ) { if ( p!= NULL ) { postorder ( p-lch); /*后序遍历左子树*/ postorder ( p-rch ); /*后根遍历右子树*/ printf ( %c\n,p-data); /*访问根结点*/ } } /*postorder*/ 例如,图6.11(a)所示二叉树的后序遍历序列为BCA, 图6.11(b)所示二叉树的后根遍历序列为CBEFDA。 6.5 线索二叉树 6.5.1 线索二叉树的基本概念 我们发现,具有n个结点的二叉树中有n – 1条边指向其左、右孩子,这意味着在二叉链表中的2n个孩子指针域中只用到了n –1 个域,还有另外n+1个指针域是空
您可能关注的文档
- [信息与通信]MAC层协议.ppt
- [信息与通信]Matlab 程序文本说明.doc
- [信息与通信]MCS 51单片机芯片硬件结构.pdf
- [信息与通信]MCS-51单片机指令系统-数据传送类指令.ppt
- [信息与通信]MCU培训手册.doc
- [信息与通信]Modbus通讯.ppt
- [信息与通信]Modicon TM5模拟量IO模块硬件指南.pdf
- [信息与通信]NEC 2000 IPS中文说明书.doc
- [信息与通信]Netindustry2008中国教育培训网站市场调查报告.pdf
- [信息与通信]OS之分布式系统中的同步问题.ppt
- GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 中国国家标准 GB/T 32151.38-2024温室气体排放核算与报告要求 第38 部分:水泥制品生产企业.pdf
- 《GB/T 22069-2024燃气发动机驱动空调(热泵)机组》.pdf
- GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 22069-2024燃气发动机驱动空调(热泵)机组.pdf
- 中国国家标准 GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法.pdf
- 《GB/T 11064.1-2024碳酸锂、单水氢氧化锂、氯化锂化学分析方法 第1部分: 碳酸锂含量的测定 滴定法》.pdf
- GB/T 1148-2024内燃机 铝活塞.pdf
- 中国国家标准 GB/T 1148-2024内燃机 铝活塞.pdf
文档评论(0)