首页 > 知识点讲解
       二叉树遍历的非递归
知识路径: > 计算机科学基础 > 常用数据结构 > 树 > 树和二叉树 > 
被考次数:2次     被考频率:低频率     总体答错率:36%     知识难度系数:     
考试要求:掌握      相关知识点:11个      
        二叉树的遍历是操作的重点,通常采用的递归算法不难实现和理解。但要实现二叉树遍历的非递归则有一定的难度,因而是理解二叉树遍历的难点。
        由于很多程序员考题中都隐含地利用二叉树遍历的非递归算法,如求二叉树中某个节点的祖先等,因而必须牢固地掌握二叉树的三种遍历的非递归算法。本质上,程序员考题中不是要考生遍历二叉树中的所有节点,而是遍历满足某种条件的节点并输出,在成功找到答案之前需要保留访问过的部分节点信息,因而须借助栈和队列等重要的数据结构。
        二叉链表的C语言描述如下:
        
        二叉树的前序、中序和后序遍历的非递归算法如下。
        1)前序遍历的非递归调用算法
        
        2)中序遍历的非递归调用算法
        
        3)后序遍历的非递归调用算法
        
        下面通过例子说明二叉树遍历的非递归应用。
        例如,在以二叉链表为存储结构的二叉树中,打印数据域值为x的节点(假定节点值不相同),并打印x的所有祖先的数据域值。
        解决此问题的算法思想是:若在查找某节点的过程中,记下其祖先节点,则可实现本问题要求。能实现这种要求的数据结构是栈,故设置一个栈用于装入x节点的所有祖先,而这种查找只有用非递归的后序遍历。
        栈的元素结构说明如下:
        
 
本知识点历年真题:
隶属试卷 题号/题型 题干 难度系数/错误率
   2012年上半年
   程序员
   上午试卷 综合知识
第39题
选择题
已知某二叉树的先序遍历序列为ABCD,中序遍历序列为BADC,则该二叉树的后序遍历序列为(39)。

41%
   2011年上半年
   程序员
   上午试卷 综合知识
第40题
选择题
当二叉树的结构形如(40)时,其后序遍历序列和中序遍历序列相同。

31%
 
 相关知识点:
 
软考在线指南
优惠劵及余额
在线支付
修改密码
下载及使用
购买流程
取消订单
联系我们
关于我们
联系我们
商务合作
旗下网站群
高级资格科目
信息系统项目管理师 系统分析师
系统架构设计师 网络规划设计师
系统规划与管理师
初级资格科目
程序员 网络管理员
信息处理技术员 信息系统运行管理员
中级资格科目
系统集成项目管理工程师 网络工程师
软件设计师 信息系统监理师
信息系统管理工程师 数据库系统工程师
多媒体应用设计师 软件评测师
嵌入式系统设计师 电子商务设计师
信息安全工程师
 

本网站所有产品设计(包括造型,颜色,图案,观感,文字,产品,内容),功能及其展示形式,均已受版权或产权保护。
任何公司及个人不得以任何方式复制部分或全部,违者将依法追究责任,特此声明。
本站部分内容来自互联网或由会员上传,版权归原作者所有。如有问题,请及时联系我们。


工作时间:9:00-20:00

客服

点击这里给我发消息 点击这里给我发消息 点击这里给我发消息

商务合作

点击这里给我发消息

客服邮箱service@rkpass.cn


京B2-20210865 | 京ICP备2020040059号-5 |京公网安备 11010502032051号 | 营业执照 | Copyright ©2000-2023 All Rights Reserved 软考在线版权所有