- 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.3 以结点类为基础的二叉树设计 6.3.1 二叉树结点类 前序遍历(DLR)递归算法为: 若二叉树为空则算法结束;否则: (1)访问根结点; (2)前序遍历根结点的左子树; (3)前序遍历根结点的右子树。 后序遍历(LRD)递归算法为: 若二叉树为空则算法结束;否则: (1)后序遍历根结点的左子树; (2)后序遍历根结点的右子树; (3)访问根结点。 二叉树的层序遍历算法如下: (1)初始化设置一个队列; (2)把根结点指针入队列; (3)当队列非空时,循环执行步骤(3.a)到步骤(3.c); (3.a)出队列取得当前队头结点,访问该结点; (3.b)若该结点的左孩子结点非空,则将该结点的左孩子结点指针入队列; (3.c)若该结点的右孩子结点非空,则将该结点的右孩子结点指针入队列; (4)结束。 非递归的二叉树中序遍历算法如下: (1)初始化设置一个堆栈; (2)把根结点置为当前结点; (3)当堆栈非空时或当前结点非空时,循环执行步骤(3.a)到步骤(3.b): (3.a)当前结点非空,循环执行步骤(3.a.1)到步骤(3.a.2) (3.a.1)当前结点入栈; (3.a.2)当前结点的左孩子成为当前结点; (3.b)如果堆栈不空,出栈取得栈顶结点成为当前结点,访问该结点,让当前结点的右孩子成为当前结点。 (4)结束。 A D G E C F B public static void preOrderNoRecur(BiTreeNode root) { LinStack s = new LinStack(); if (root == null) return; BiTreeNode curr; s.push(root); while (s.notEmpty()) { curr = (BiTreeNode)s.pop(); Console.Write( + curr.data); if (curr.getRight() != null) s.push(curr.getRight()); if (curr.getLeft() != null) s.push(curr.getLeft()); } } D H G B A E C F 非递归的中序遍历算法 A D G E C F B H class BiTreeNode{ private BiTreeNode leftChild; private BiTreeNode rightChild; private Object data; public BiTreeNode() { leftChild = null; rightChild = null; } public BiTreeNode(Object item, BiTreeNode left, BiTreeNode right) { data = item; leftChild = left; rightChild = right; } public BiTreeNode getLeft(){ return leftChild; } public BiTreeNode getRight(){ return rightChild; } public Object getData(){ return data; } } 6.3.2 二叉树的遍历 1、遍历定义—— 2、遍历用途—— 指按照某种顺序访问二叉树中的每个结点,使每个结点被访问一次且仅被访问一次。 (或指按某条搜索路线遍访每个结点且不重复)。 它是树结构插入、删除、修改、查找和排序运算的前提,是二叉树一切运算的基础和核心。 3、遍历规则——— 二叉树由根、左子树、右子树构成,定义为D、 L、R 以根结点为参照系 注:“前、中、后”的意思是指访问的结点D是先于子树出现还是后于子树出现。 D、 L、R的组合定义了六种可能的遍历方案: DL
您可能关注的文档
- 第五单元水文统计(~).ppt
- 第五单元概率和概率分布.ppt
- 第五单元机械CADCAM建模技术.ppt
- 第五单元用差分法和变分法解平面问题.ppt
- 第五单元电容式传感器.ppt
- 第五单元消化系统.ppt
- 第五单元直线方向的测量.ppt
- 第五单元统计推断的理论基础.pptx
- 第五单元基本形体和曲线、曲面.ppt
- 第五单元编写可移植的代码.ppt
- 美容仪器行业技术创新前沿报告:2025市场推广策略深度解析.docx
- 高中生物遗传实验教学中的实验课程与高考衔接策略教学研究课题报告.docx
- 城市轨道交通站点交通组织调整2025年社会稳定风险评估及应对措施.docx
- 2025年半导体光刻光源技术创新:驱动产业变革的力量.docx
- 四年级下册数学重点必背公式汇总.pdf
- 2025新能源产学研合作中的知识产权保护与利用报告.docx
- 城市生活垃圾处理行业废弃物资源化利用技术2025年展望报告.docx
- 速度位移时间图像.ppt
- 住房租赁市场租赁市场租赁市场租赁政策调整及未来五到十年发展趋势报告.docx
- 新能源广告宣传合规2025:技术创新与虚假信息识别与风险规避指南.docx
最近下载
- 2024年巡察整改专题民主生活会个人“聚焦四个方面”对照检查材料范文2篇.docx VIP
- 人工智能对文化产业的推动.pptx VIP
- 人教版(2024)七年级上册英语教学计划(含教学进度表).docx
- 软件的项目可行性的研究的报告编写.ppt VIP
- 一种用于处理高硫高砷金矿的提金剂及其制备方法.pdf VIP
- 中国甲状腺疾病诊治指南ppt.pptx VIP
- 《中国抗癌协会甲状腺癌整合诊治指南(2022精简版)》解读PPT课件.pptx VIP
- 一种澳洲坚果种质热敏感等级的精准诊断及其缓解新梢叶片热伤害的方法.pdf VIP
- 全球常见传染病防控概述.pptx VIP
- 棉花种子生产技术 棉花的生育特性 棉花的一生.docx VIP
文档评论(0)