欢迎来到天天文库
浏览记录
ID:59189639
大小:31.50 KB
页数:5页
时间:2020-10-30
《实验四二叉树的遍历和应用.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、江南大学通信与控制工程学院标准实验报告(实验)课程名称:计算机软件技术基础实验名称:二叉树的遍历和应用班级:自动化姓名:李玉书学号:03指导教师:卢先领江南大学通信与控制学院江南大学实验报告学生姓名:张晓蔚学号:实验地点:信控机房实验时间:90分钟一、实验室名称:信控学院计算中心二、实验项目名称:二叉树的遍历和应用三、实验学时:4学时四、实验原理:二叉树的遍历和应用五、实验目的:1、掌握二叉树的数据类型描述及特点。2、掌握二叉树的存储结构(二叉链表)的建立算法。3、掌握二叉链表上二叉树的基本运算的实现。六、实验内容:阅读后面的程序
2、,并将其输入到计算机中,通过调试为下面的二叉树建立二叉链表,并用递归实现二叉树的先序、中序、后序三种遍历。七、实验器材(设备、元器件):计算机八、实验步骤:1、输入示例程序2、构建按序插入函数实现算法3、用C语言实现该算法4、与源程序合并,编译,调试5、测试,查错,修改6、生成可执行文件,通过综合测试,完成实验九、实验数据及结果分析:测试用例初始数据:ABDH,,I,,EJ,,K,,CFL,,,G,,测试结果十、实验结论:该程序可以完成线性表的常规功能,且增加了异常处理,在异常情况下,例如:表空,删除结点号不合法或出界,删除数值未
3、找到等,这些情况下都能作出处理。可以通过边界测试。十一对本实验过程及方法、手段的改进建议:对书中程序的几点错误做了改正,见源程序。附:源程序#includetypedefstructbitree{chardata;bitree*lchild;bitree*rchild;}bitree;bitree*CreatBiTree(){bitree*T;charch;//结点的data域值cin>>ch;if(ch==',')T=NULL;else{T=newbitree;T->data=ch;T->lchild=C
4、reatBiTree();T->rchild=CreatBiTree();}returnT;}//前序遍历voidpreorder(bitree*root){bitree*p;p=root;if(p!=NULL){cout<data<<"";preorder(p->lchild);preorder(p->rchild);}}//中序遍历voidinorder(bitree*root){bitree*p;p=root;if(p!=NULL){inorder(p->lchild);cout<data<<"";inord
5、er(p->rchild);}}//后序遍历voidpostorder(bitree*root){bitree*p;p=root;if(p!=NULL){postorder(p->lchild);postorder(p->rchild);cout<data<<"";}}voidmain(){//以下为验证程序bitree*root;cout<<"建立一棵根为root"<6、ut<<"";postorder(root);cout<
6、ut<<"";postorder(root);cout<
此文档下载收益归作者所有