数据结构课程设计--按层次遍历二叉树

数据结构课程设计--按层次遍历二叉树

ID:24565976

大小:182.50 KB

页数:12页

时间:2018-11-15

数据结构课程设计--按层次遍历二叉树_第1页
数据结构课程设计--按层次遍历二叉树_第2页
数据结构课程设计--按层次遍历二叉树_第3页
数据结构课程设计--按层次遍历二叉树_第4页
数据结构课程设计--按层次遍历二叉树_第5页
资源描述:

《数据结构课程设计--按层次遍历二叉树》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、学号:课程设计题目按层次遍历二叉树学院计算机科学与技术专业计算机科学与技术班级姓名指导教师2013年6月20日121问题描述及要求41.1问题描述41.2任务要求42开发平台及所使用软件43程序设计思路53.1二叉树存储结构设计53.2题目算法设计53.2.1建立二叉树53.2.2遍历二叉树53.3.3按要求格式输出已建立的二叉树63.3测试程序64调试报告65经验和体会76源程序清单及运行结果76.1源程序清单76.2运行结果97参考文献10本科生课程设计成绩评定表1112课程设计任务书学生姓名:专业班级:计科ZY1102班指导教师:工作单位:计算

2、机科学系题目:按层次遍历二叉树初始条件:编写按层次顺序(同一层自左至右)遍历二叉树的算法。(1)二叉树采用二叉链表作为存储结构。(2)按严蔚敏《数据结构习题集(C语言版)》p44面题6.69所指定的格式输出建立的二叉树。(3)输出层次遍历结果。(4)自行设计测试用例。要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)课程设计报告按学校规定格式用A4纸打印(书写),并应包含如下内容:1.问题描述简述题目要解决的问题是什么。2.设计存储结构设计、主要算法设计(用类C/C++语言或用框图描述)、测试用例设计;3.调试报告调试过

3、程中遇到的问题是如何解决的;对设计和编码的讨论和分析。4.经验和体会(包括对算法改进的设想)5.附源程序清单和运行结果。源程序要加注释。如果题目规定了测试数据,则运行结果要包含这些测试数据和运行输出。说明:1.设计报告、程序不得相互抄袭和拷贝;若有雷同,则所有雷同者成绩均为0分。2.凡拷贝往年任务书或课程设计充数者,成绩一律无效,以0分记。时间安排:1.第17周完成,验收时间由指导教师指定2.验收地点:实验中心3.验收内容:可执行程序与源代码、课程设计报告书。指导教师签名:2013年6月14日系主任(或责任教师)签名:年月日12数据结构课程设计——按

4、层次遍历二叉树1问题描述及要求1.1问题描述编写按层次顺序(同一层自左至右)遍历二叉树的算法,并将二叉树按指定格式输出。(题集p44面题6.69所指定的格式)指定格式如下:CFEADB图一:指定输出格式1.2任务要求编写按层次顺序(同一层自左至右)遍历二叉树的算法。(1)二叉树采用二叉链表作为存储结构。(2)按题集p44面题6.69所指定的格式输出建立的二叉树。(3)输出层次遍历结果。(4)测试用例自己设计。2开发平台及所使用软件Windows7.0,VisualStudio2010123程序设计思路3.1二叉树存储结构设计structBinTree

5、Node//二叉树用二叉链表存储{chardata;//二叉树结点值为字符型BinTreeNode*leftchild;//左孩子指针BinTreeNode*rightchild;//右孩子指针}3.2题目算法设计3.2.1建立二叉树voidBinTree::creatBinTree(istream&in,BinTreeNode*&subTree)//通过输入流in建立二叉树{charitem;cin.get(item);if(item!=''){subTree=newBinTreeNode(item);creatBinTree(in,subTree

6、->leftchild);creatBinTree(in,subTree->rightchild);}else{subTree=NULL;}};3.2.2遍历二叉树voidBinTree::levelOrder(BinTreeNode*subTree)//按层次序遍历二叉树{queueq;BinTreeNode*p=subTree;q.push(p);while(!q.empty())//若树非空{p=q.front();cout<leftchild!

7、=NULL){q.push(p->leftchild);}//左子树非空,入队12if(p->rightchild!=NULL){q.push(p->rightchild);}}};3.3.3按要求格式输出已建立的二叉树voidPrint_BinTree(BinTreeNode*Tree,inti)//按要求格式输出已建立的二叉树i表示结点所在层次。初始i=0{BinTreeNode*p=Tree;if(p->rightchild)Print_BinTree(Tree->rightchild,i+1);//递归函数for(intj=1;j<=i;j+

8、+)cout<<"";//打印i个空格表示层次cout<data<leftc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。