文档详情

数据结构实验3..doc

发布:2017-01-25约字共9页下载文档
文本预览下载声明
学 生 实 验 报 告 (参考样本) 学 院: 软件与通信工程学院 课程名称: 物联网工程 专业班级: 物联网141 姓 名: 李依凡 学 号: 0144356 学生实验报告 (理、工科类专业用) 学生姓名 李依凡 学号 0144356 同组人 无 实验项目 二叉树的遍历操作 □必修 □选修 □演示性实验 □验证性实验 □操作性实验 □综合性实验 实验地点 H114 实验仪器台号 B01 指导教师 蒋娜 实验日期及节次 2015.12.02 一、实验综述 1、实验目的及要求 通过上机操作,力求能够加深学生对课堂讲授内容的理解,掌握基本数据结构:集合、线性结构、树形结构、网状结构的基本操作实现和在求解实际问题中的应用,进一步熟悉高级程序设计语言的编程环境及其编程规则,同时培养学生书写规范文档的习惯,要求学生具有编制相当规模的程序的能力,养成良好的程序设计风格。 对学生上机实验的要求如下: (1)上机实验之前,学生应当为每次上机的内容作好充分准备。对每次上机需要完成的题目进行认真的分析,列出实验具体步骤,写出符合题目要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容以及思考题的要求进行上机操作。录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。实验报告应当包括:实验题目,实验目的,实验要求,程序实现,实验结果以及分析讨论等内容。 2、实验仪器、设备或软件 硬件最低要求:586微型计算机,主频450MHZ以上,内存64MB以上,硬盘10G,有软驱。每个学生每次上机实验使用一台计算机。 软件:Turbo C或Visual C++6.0 二、实验过程(实验步骤、记录、数据、分析) 实验要求: 掌握递归的特点,编写二叉树的创建和遍历基本操作的实现程序。 实验内容: 输入一个表示二叉树的字符序列;运行前序、中序和后序遍历算法,将遍历后的结果显示中屏幕上。 在此基础上实现对二叉树的中序遍历算法的非递归实现和广度优先遍历(层序遍历)的实现。? 程序: #includestdio.h #includestdlib.h #define OK 1 #define ERROR 0 typedef int Status; typedef struct BiTNode { char data; struct BiTNode *lchild,*rchild; }BiTNode,*BiTree; void CreateBiTree(BiTree T)//先序遍历顺序创建 { char ch; scanf(%c,ch); if(ch==#) T=NULL; else { T=new BiTNode; T-data=ch; CreateBiTree(T-lchild); CreateBiTree(T-rchild); } } void xian(BiTree T) //先 { if(T) { printf(%c,T-data); xian(T-lchild); xian(T-rchild); } } void zhong(BiTree T) //中 { if(T) { zhong(T-lchild); printf(%c,T-data); zhong(T-rchild); } } void hou(BiTree T) //后 { if(T) { hou(T-lchild); hou(T-rchild); printf(%c,T-data); } } void main() { BiTree T; printf(先序遍历输入一二叉树:\n); CreateBiTree(T); printf(先序遍历结果:\n); xian(T); printf(\n); printf(中序遍历结果:\n); zhong(T); printf(\n); printf(后序遍历结果:\n); hou(T); printf(\n); } 扩展 //中序遍历的非递归实现 程序: #includestdio.h #includestdlib.h #define OK 1 #define ERROR 0 typedef int Status; typed
显示全部
相似文档