学号: 0 9 0 3 0 4 1 2 2 沈阳建筑大学城市建设学院 数据结构(上机)实验报告 2010 ~ 2011 学年 一 学期 专 业 :计算机科学与技术 班 级: 0 9 级 1 班 姓 名 : 杨光 项目名称:实验五 二叉树 学时:2 日期: 2010 年 11 月 26 日 第 13 教学周 硬件及软件 名 称 版本、型号 实验目的与要求: 1、 学会实现二叉树结点结构和对二叉树的基本操作
2、 掌握二叉树的三种遍历方法,并学会用递归和非递归方法实现
实验任务: 1、 程序填空:完成程序,将主程序补充完整,使程序实现对如图二叉树的基本操作: 用括号法输出二叉树; (1) 查找结点“c”的孩子结点; (2) 计算二叉树的深度; (3) 计算二叉树的宽度; (4) 计算二叉树的结点个数; (5) 查找叶子节点,并计数; (6) 用凹入法输出二叉树
2、 程序填空:完成程序,将部分函数(中序遍历的递归算法、中序遍历的非递归算法、后序遍历的递归算法),使程序实现对题中二叉树分别使用递归和非递归算法进行先序、中序、后序遍历
3、其它类似的题目(需要经过教师允许)
实验方案、步骤、过程记录(含源程序、结果截图等): 源程序: #include #include #include #define TRUE 1 #define FALSE 0 #define Stack_Size 50 typedef char DataType; typedef struct Node { DataType data; struct Node *LChild; struct Node *RChild; }BiTNode, *BiTree; void CreateBiTree(BiTree *bt) { char ch; ch = getchar(); if(ch=='