- 1、本文档共80页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基本操作的函数原型说明 Status CreateBiTree(BiTree T); //按先序秩序输入二叉树中结点的值,构造 //二叉链表表示的二叉树 Status PreOrderTraverse(BiTree T,Status(*Visit)(TElemType e)); //先序遍历二叉树T Status InOrderTraverse(BiTree T,Status(*Visit)(TElemType e)); //中序遍历二叉树T 基本操作的函数原型说明 Status PostOrderTraverse(BiTree T,Status(*Visit)(TElemType e)); //后序遍历二叉树T Status LevelOrderTraverse(BiTree T,Status(*Visit)(TElemType e)); //层序遍历二叉树T visit是一个函数,可以是对结点的插入、删除和修改,可以是其他的操作,例如,最简单的Visit函数:输出结点数据的值。 Status PrintElement(TElemType e) {//输出元素e的值 printf(e);// return OK;; } 遍历的方法: 把二叉树上的复杂的结点关系变为一个线性结构关系,使得每个结点元素都有明确的唯一的一个直接前驱和一个直接后继。即使得二叉树上的结点能够排列在一个线性队列上,这样就便于对结点进行各种操作。 利用二叉树表示表达式: a+5+b*6-c/8 中序遍历过程中递归工作栈的状态 工作记录中包括两项:其一是递归调用的语句编号;其二为指向根结点的指针。 如果栈顶记录中的指针值非空,则说明二叉树的根结点存在,则应中序遍历这棵二叉树,即先遍历其左子树,将指向左子树根结点的指针压入栈顶; 如果栈顶记录中的指针值为空,则说明该二叉树不存在,应该退到这个空二叉树的上一层。如果此时是从左子树返回来的,则应立即访问栈顶指针所指的根结点。如果是从右子树返回的,则说明当前层访问完毕。 void InorderTraverse(BiTree T, void (*visit) (TelemType e)){ IniStack(S);p=T; while(p|| (!StackEmpty(S)){ //栈非空或还有右子树 if(p) {Push(S,p);p=p-lchild};//压入非空根结点 else{ Pop(S,p); if(!Visit(p-data)) return ERROR; p=p-rchild;//查看右子树 }//end else }//end while return OK; }//InorderTraverse 若二叉树为空树,则空操作;否则, (1)中序遍历左子树; (2)访问根结点; (3)中序遍历右子树。 中(根)序的遍历算法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. void InorderTraverse (BiTree T,Status( *visit)(TElemType e)) { // 中序遍历二叉树 if (T) { if(InorderTraverse (T-lchild, visit)) // 遍历左子树 if(visit(T-data)) // 访问根结点 if(InorderTraverse (T-rchild, visit)) // 遍历右子树 return OK; return ERROR; } else return OK; }// InorderTraverse Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2011 Aspose Pty Ltd. 若二叉树为空树,则空操作;否则, (1)后序遍历左子树; (2)后序遍历右子树; (3)访问根结点。 后(根)序的遍历算法 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0. Copyright 2004-2
您可能关注的文档
- 《3.1人类离不开学习.ppt
- 《3.抗菌药物的体内外活性评价方法.ppt
- 《3-1物质的相态-水的相图.ppt
- 《311.6导数在经济学中的简单应用.ppt
- 《30大班语言:全世界儿童是一家.ppt
- 《3.第二章各种音频压缩格式.ppt
- 《3.雨的四季同步习题课件.ppt
- 《3Android应用开发入门.ppt
- 《31玛丽艳对比实验推广方法.ppt
- 《315宣传活动开展方案.ppt
- 2025至2030车身传感器行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030肠胃外药物行业项目调研及市场前景预测评估报告.docx
- 2025至2030灯具行业市场深度调研及供需格局及有效策略与实施路径评估报告.docx
- 2025至2030底部安装压力表行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030第三代测序行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030电饼铛行业项目调研及市场前景预测评估报告.docx
- 2025至2030赌桌行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030靶向药物输送系统行业产业运行态势及投资规划深度研究报告.docx
- 2025至2030阿米卡星(CAS37517285)行业发展趋势分析与未来投资战略咨询研究报告.docx
- 2025至2030财务管理软件行业产业运行态势及投资规划深度研究报告.docx
文档评论(0)