中南民族大学信管二叉树数据结构试验报告_第1页
中南民族大学信管二叉树数据结构试验报告_第2页
中南民族大学信管二叉树数据结构试验报告_第3页
中南民族大学信管二叉树数据结构试验报告_第4页
中南民族大学信管二叉树数据结构试验报告_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中南民族大学管理学院学生实验报告实验项目:二叉树的建立与遍历课程名称:数据结构年级:20112011专业:信息管理与信息系统指导教师:实验地点:管理学院综合实验室完成日期:20122012 年 1212 月 1515 日小组成员:微博song-stylesong-style 是坏学长2012_2012_学年至 2013_2013_学年度第工学期song-style是坏学长实验目的(1) 掌握二叉树的建立与遍历(2) 学会定义抽象数据类型(3) 学会分析问题,设计适当的解决方案实验内容【问题描述】建立一棵二叉树,并对其进行遍历(先序、中序、后序),打印输出遍历结果。【基本要求】从键盘接受输入(先

2、序),以二叉树表作为存储结构,建立二叉树(以先序来建立),并采用递归算法对其进行遍历(先序、中序、后序),将遍历结果打印输出。【测试数据】ABC#DE#G#F#(其中#表示空格字符)则输出结果为先序:ABCDEGF中序:CBEGDFA后序:CGEFDBA【选作内容】采用非递归算法实现二叉树的遍历实验步骤(一)需求分析(二)概要设计(三)详细设计(四)调试分析case 1:char(ch)读入一个字符时读不出来,后来我们用scanf(%c,&ch)也不对,用/scanf(%c,%ch)和scanf(&ch)是对的,但根据我们以前学的C语言语句结构,这后面的两个都是不对的。(五)用

3、户手册(六)测试结果(说明:将程序实际运行的结果截图后粘贴在这里。请删除这里的说明文字)(七)心得体会(八)团队介绍(九)附录:源程序清单#include#includetypedefstructnode(chardata;structnode*lchild;structnode*rchild;Node,*pNode;voidPreOrder(pNodem);/先序遍历voidInOrder(pNodem);/中序遍历voidPostOrder(pNodem);/后序遍历pNodecreat_1();/输入一个先序顺序的二叉树字符串pNodecreat();/按照先序遍历创建一个二叉树char

4、b25;intj;intmain()(pNodem=NULL;inti=1,a;while(i)printf(-1 按先序遍历创建二叉树n);printf(2 按先序遍历遍历二叉树n);printf(3 按中序遍历遍历二叉树n);printf(4 按后序遍历遍历二叉树n);printf(输入以上数字之外的则退出);printf(请输入:);scanf(%d,&a);switch(a)(case 2:m=creat_1();break;case 3:PreOrder(m);break;case 4:InOrder(m);break;case 5:PostOrder(m);break;de

5、fault:i=0;pNodecreat_1()(printf(“请输入字符串:(例如 ABC#DE#G#F#,#代表空)n);scanf(%s,b);returncreat();pNodecreat()(pNodem;charch;ch=bj;j+;scanf(&ch);/读入一个字符 if(ch=#)returnNULL;/构造空树构造新结点m=(pNode)malloc(sizeof(Node);m-data=ch;/生成根结点printf(n*请选择*printf(n*n);m-lchild=creat();/构造左子树 m-rchild=creat();构造右子树 retur

6、nm;)voidPreOrder(pNodem)(if(!m)return;elseprintf(%c”,m-data);PreOrder(m-lchild);PreOrder(m-rchild);)voidInOrder(pNodem)if(!m)return;elseInOrder(m-lchild);printf(%c,m-data);InOrder(m-rchild);voidPostOrder(pNodem)if(!m)return;elsePostOrder(m-lchild);PostOrder(m-rchild);printf(%c,m-data);实验结果分析1 .在算法实现

7、上,从算法的效率看,递归方法书写形式较为简洁,更为直观,一般具有较好的空间效率。2 .程序的设计应该简洁,函数之间的调用关系应该明了,以便于调试。3 .只有充分地了解二叉树的生成、遍历的步骤和方法,才能够写出相应的正确的代码。4 .在不同环境下,应该注意区别不同语言之间的联系与区别,否则可能会显示出错。5 .编写代码时要小心细致,即使是很小的错误对整个程序来说也可能会产生很大的影响。指导教师批阅:指标最高分评分要宗评分设计技术水平30程序的功能设计、数据结构设计及整体结构设计合理;程序运行情况良好,算法说明清晰,理论分析与计算正确,实验数据无误实际动手能力20熟练使用开发工具,能够迅速准确的进行调试、纠错和运行编程风格10良好的编程风格(缩进,注释,变量名、函数名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论