数据结构课程设计按层次遍历二叉树
课程设计
题 目 按层次遍历二叉树
学 院 计算机科学与技术
专 业 计算机科学与技术
班 级
姓 名
指导教师
2013 年 6 月 20 日
1问题描述及要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
1 1问题描述错误未定义书签。
1.2任务要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
2 开发平台及所使用软件. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
3程序设计思路错误未定义书签。
3。 1二叉树存储结构设计错误未定义书签。
数据结构课程设计按层次遍历二叉树
3 2题目算法设计错误未定义书签。
3。 2。 1 建立二叉树错误未定义书签。
。 2.2遍历二叉树错误未定义书签。
3。 3 按要求格式输出已建立的二叉树错误未定义书签。
3。 3 测试程序6
调试报告. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
5经验和体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6源程序清单及运行结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
.1源程序清单. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
6.2运行结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
参考文献错误未定义书签。
本科生课程设计成绩评定表. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .错误未定义书签。
课程设计任务书
学生姓名 专业班级: 计科ZY1 0班
指导教师: 工作单位: 计算机科学系
题目 按层次遍历二叉树
初始条件
编写按层次顺序(同一层自左至右遍历二叉树的算法.
数据结构课程设计按层次遍历二叉树
(1二叉树采用二叉链表作为存储结构。
(2)按严蔚敏《数据结构习题集(C语言版》 p4面题 。 69所指定的格式
输出建立的二叉树.
(3)输出层次遍历结果。
4 自行设计测试用例。
要求完成的主要任务 (包括课程设计工作量及其技术要求 以及说明书撰写等具体要求)
课程设计报告按学校规定格式用A4纸打印(书写并应包含如下内容:
1 问题描述
简述题目要解决的问题是什么。
2 设计
存储结构设计、主要算法设计用类CC++语言或用框图描述)、测试用例设计;
3。 调试报告
调试过程中遇到的问题是如何解决的;对设计和编码的讨论和分析。
4 经验和体会包括对算法改进的设想
附源程序清单和运行结果.源程序要加注释.如果题目规定了测试数据则运行结果要包含这些测试数据和运行输出。
说明:
1。 设计报告、程序不得相互抄袭和拷贝若有雷同则所有雷同者成绩均为分。
。 凡拷贝往年任务书或课程设计充数者,成绩一律无效 以分记.
时间安排:
1第17周完成,验收时间由指导教师指定
2验收地点实验中心
3验收内容可执行程序与源代码、课程设计报告书。
指导教师签名 2 13年月1日
系主任或责任教师)签名 年 月 日
数据结构课程设计
—-按层次遍历二叉树
1问题描述及要求
。 1问题描述
编写按层次顺序(同一层自左至右)遍历二叉树的算法,并将二叉树按指定格式输出。 (题集 4面题6。 69所指定的格式指定格式如下
数据结构课程设计按层次遍历二叉树
图一指定输出格式
.2任务要求
编写按层次顺序同一层自左至右遍历二叉树的算法.
1二叉树采用二叉链表作为存储结构。
2按题集44面题6。 69所指定的格式输出建立的二叉树。
(3输出层次遍历结果。
4测试用例自己设计.
2开发平台及所使用软件
Wnos 7. Visual Su o010
3 程序设计思路
。 二叉树存储结构设计strc inTreeNode //二叉树用二叉链表存储
{c har ata //二叉树结点值为字符型
B in eeNde le fthild; //左孩子指针
B T eeod igh hi d; //右孩子指针
}
3。 2题目算法设计
3.2 1 建立二叉树void BinT ee cr atB nTre ream in BinT e Nod
数据结构课程设计按层次遍历二叉树sub Tree
//通过输入流in建立二叉树
char tmc in get(ite m);
if(i em!=
sure=new B inTreeNde t
craB inr in,subr >l tc hil
retB inT e i ub Tee—r htc hi d);
}
els
{
u ee=NULL
;
3。 。 2遍历二叉树vo i BiTr e :le rder Bi r eode* sb Tr e/按层次序遍历二叉树
que ue<B inre eN q
inTreNo *psub Tee;q.push(p
hile q。 empty )) //若树非空{
p=q。 ro nt cut< 〈vis it(p) 〈" " /输出队头元素q pop )
i p—〉 le ftc hil =N UL q.p us h p—〉 e ftc hil ;} //左子树非空入队
ifp-〉 igtc h ld =NL) q。 p uh(p—〉 rig c hi d ;
3。 3.3按要求格式输出已建立的二叉树
oi rin _B inTr ( iT eN od T e,int //按要求格式输出已建立的二叉树i表示结点所在层次。初始=
B inTreeNde*p=Tree
f p> ihthild int_ Te Tre e—〉 ightcild,i+1
/递归函数
fo int j=1;j<= j+ cot 〈<” ” /打
数据结构课程设计按层次遍历二叉树
印i个空格表示层次c o ut 〈p—>d aa<e l;
if —〉 e fthild PrintBnTree r e—〉 f h d i+1}
3.3 测试程序
测试二叉树
如图所示二叉树按先序遍历顺序输入,AB##CE###。其中””代表空格,二叉树是 A为根节点 A左孩子是B,右孩子是C B的左孩子为空,右孩子为D 的左孩子为右孩子为空 E的左孩子为空,右孩子为F.根据以下程序运行结果(见图4)可知,程序正确运行。
若输入AB#DCEF#则程序出现错误不能运行.(见图34调试报告
1、在建立二叉树时输入的格式一定要正确没有孩子的要用空格表示在测试用例中 F没有孩子,要用两个空格表示如果输入“BDE"则没有输出结果.
2、起初编写输出程序vid rint_inTee(B inreeN ode Tr e,in i))的时候,始终显示编译无错误,但是不能运行出现了一堆有关内存分配错误的问题.最后发现没有将指针指向结点。经改正,运行成功。
经验和体会
本程序的建立和遍历二叉树的程序都比较简单,关键在于按要求打印二叉树。起初一直找不到合适的方法按题目要求打印二叉树在和同学讨论了很久之后终于有了思路。在调试程序的时候也出现了问题,起初没有在意输入方式对程序运行结果的影响导致程序无法运行在检查了很久之后终于找到了问题的所在对输入进行了改正得到了正确的结果.
除此之外,编写C+程序的过程中指针时钟是个难点也是个重点今后要多练习多理解才行。
数据结构课程设计按层次遍历二叉树
6源程序清单及运行结果
6 1源程序清单
inc lude 〈ios ram〉
in lud 〈qeu>
s in nasp ae td;s ructinTeeNo /定义结构体
char ta;
reN oe* etcild;
B inTreeoe*rihtc hild
B inTreeNode( : e c hi d(NULL rightc hild NULL
/结构体可以有构造函数
BinT ode i x BnreeNoe*lULL,B re erNULL : ta( ,letc l rightc hil(r
a s inTree
iva te
B inTreeNde*r pub ic
B ire ( ro o (ULL { /构造函数,构造一棵空的二叉树
BnTreeNode*gtrot(){rtun rot
BnTree const nTr s //复制构造函数
~B inTre e es tro yroot);} //析构函数 o estr inT eeNod u Tre
/删除
o i c eatB iTree is rei nTre eNode &uTree ;
/从文件读入建树
riend istramoperatr〉 ( strem BinTre Tr
//重载操作输入
id l ve de inTreeod subTree);
/层次序遍历char visit iTreeN ep { e u n p—〉 d ta
//取值
istr a m& p er ato >〉 i r m& n inT e Tre )
数据结构课程设计按层次遍历二叉树
/重载操作:输入并建立一棵二叉树.in是输入流对象
Tre e c ret B in e in re 。 ro o
retur n n
vo id inT e :cre Binreeist mi,BinTreeNodsub Tree) /从输入流in输入二叉树表示建立对应的二叉链表
c r item
c get(item)
f te m =’ ')
sub Tree=nw BinTeeNo it ;
reaB ir n,sb Tree—〉 e ftch ld
rea nTre in s ub Tre—〉 rightc hil
els
suTreeNUL
}
o iTee :leve Order inTeeNode ub Tree)
qu e 〈Bin eede *
inreo dp=ub Tre eq push p
while( q epty 队列不空
p=q frn o 〈<v si p)<<” ”
q。 pp if p->le f ch ld!=NUL){q ps(p-> e tch ;
左子女进队
if(p—〉 r gtc hi d!=UL){q.ps hp—>rightc hil) 右子女进队
}
};
V id BinT e stroy(B reeNode ub ree
数据结构课程设计按层次遍历二叉树
/释放空间
if(subTre NUL
s r (s Tree ef chi )
de roy sub Tre e〉 rig c h ld
delete ub Tre e;
}voi P int_BinTree Tre e Tree t i
//按要求输出二叉树,i表示结点所在层次初次调用为0{
nre eoe*p=re if(-> ightc hild ri _i ee Tr rigthild,i+1 ;for it = j 〈=i j++ cou< ” //打印i个空格表示层次cut 〈 〈p-〉 d ataed l /打印元素,换行
ifp->l f chi P in_B inTree Tee〉 le ftc hil,i+ )
}int min(
{
BinTree Tree;int a;in =0cout 〈<”请按照前序遍历的方法,输入初始值每段空格结束 〈 〈e nd lc 〉 〉 ee
B inreeN *p=Tre e。 e ro ot
cou 〈endl;
out< 〈"层序遍历为” 〈ed ;
Tee l elOder( ;
coted
ut 〈”按树形打印输出二叉树”<<edl
rininTree(,i)
cin>a;ret n 0;
zji怎么样?zji最近新上韩国BGP+CN2线路服务器,国内三网访问速度优秀,适用8折优惠码zji,优惠后韩国服务器最低每月440元起。zji主机支持安装Linux或者Windows操作系统,会员中心集成电源管理功能,8折优惠码为终身折扣,续费同价,全场适用。ZJI是原Wordpress圈知名主机商:维翔主机,成立于2011年,2018年9月启用新域名ZJI,提供中国香港、台湾、日本、美国独立服...
imidc对日本独立服务器在搞特别促销,原价159美元的机器现在只需要88美元,而且给13个独立IPv4,30Mbps直连带宽,不限制流量。注意,本次促销只有一个链接,有2个不同的优惠码,你用不同的优惠码就对应着不同的配置,价格也不一样。88美元的机器,下单后默认不管就给512G SSD,要指定用HDD那就发工单,如果需要多加一个/28(13个)IPv4,每个月32美元...官方网站:https:...
wordpress公司网站模板,wordpresss简洁风格的高级通用自适应网站效果,完美自适应支持多终端移动屏幕设备功能,高级可视化后台自定义管理模块+规范高效的搜索优化。wordpress公司网站模板采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时...