- 1、本文档共22页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计的题目名称
PAGE
湖南师范大学工学院电子与信息工程系课程设计报告书 第 PAGE 2页 共 NUMPAGES 22页
课程设计报告书
二叉树的应用
2010-10
Hunan Normal University
ELECTRONIC INFORMATION ENGINEERING DEPARTMENT
课程设计题目
二叉树的应用
指导教师姓名
指导老师职称
学生姓名
所属班级
任务要求
二叉树的中序、前序、后序的递归与非递归遍历算法,按层次遍历的非递归遍历算法的实现,应包含建树的实现,树与二叉树的转换的实现
主要实施步骤
构造二叉树,树以及相关的数据结构
建立二叉树
二叉树的不同遍历
树的遍历
树与二叉树的转换
届面的设计
结
论
通过这次的课程设计,进一步的加强了对二叉树及树的了解,尝试了
种新的建树的方法,通过类似于建查找二叉树:大的是兄弟,小的孩子来建树,这样不会限制树的维度,只根据于用户输入的数据来建,降低了用户输入的难度。
另外,也发现将二叉树用于其它的系统的数据存储,查找时会比较容易,以后可试着研究把二叉树作为一种有效的存储手段。
湖南师范大学工学院电子与信息工程系课程设计登记表
注:此表格内容中的任务要求为指导教师提供的课程设计要求,主要实施步骤是指课程设计的时间安排,结论是指通过课程设计得出的有关结论及课程设计不足之处或进一步开发方向。
目 录
1引言 4
1.1 课程设计目标 4
1.2编程工具(编程环境)介绍 4
1.3实施时间及主要实施步骤 4
2.需求分析 4
3系统总体设计 5
4数据结构设计 5
5详细设计与实现 6
5.1功能模块1 6
5.1.1详细设计 6
5.1.2算法流程 6
5.1.3界面设计及测试结果 7
5.2功能模块 8
5.2.1详细设计 8
5.2.2算法流程 8
5.2.3界面设计及测试结果 10
5.3功能模块 12
5.3.1详细设计 12
5.3.2算法流程 12
5.3.3界面设计及测试结果 14
6算法分析 15
7、测试结果 15
8结论 22
9参考文献 22
引言
课程设计目标
建树的实现
二叉树的中序、前序、后序的递归与非递归遍历算法的实现
按层次遍历的非递归遍历算法的实现
树与二叉树的转换的实现
编程工具(编程环境)介绍
在Windeow X P 下用的 Dev-c++ 4.9.9.2 编程工具
C++是一种静态数据类型检查的,支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
实施时间及主要实施步骤
实施时间:9月13号—9月24号
主要实施步骤:1、构造二叉树,树以及相关的数据结构
2、建立二叉树
3、二叉树的不同的遍历
4、树的遍历
5、树与二叉树的转换
6、届面的设计
需求分析
本程序的功能是采用查找二叉树的方法建树,并对二叉树进行递归前序遍历、中序遍历和后序遍历,用栈实现非递归的前序、中序和后序遍历,还有对二叉树的层次遍历,以及树的建立,树的广度优先和深度优先遍历,树与二叉树的转换。
本程序要求用户以字符输入,以#结束输入,采用查找二叉树的方法建树。
本程序输出结果以用户要求为准,可打印出二叉树的递归与非递归的先序、中序和后序遍历以及层次遍历,还有树的广度优先和深度优先遍历以及树转换成二叉树后的先序遍历。
演示程序以用户与计算机对话的方式进行,即在计算机终端上显示提示信息后,由用户在键盘上输入相应动作的序号和相应的输入数据。
测试数据:第一组:j ld e b a h i u x f d h n
第二组:7 4 3 2 8 9 0
第三组:* ) ( ? % ^ ! = +
系统总体设计
系统共分为三个模块:first,arytree,ntree
first模块是作为与用户交流的第一个接口,通过它将选择是对树或二叉树进行操作。
arytree模块是对二叉树的全部操作,它又分为建树(maketree)模块、先序遍历(xianxu)模块、中序遍历(zhongxu)模块、后序遍历(houxu)模块、层次遍历(cenchi)模块,它们分别完成二叉树的建立,以及递归和非递归的先序遍历、中序遍历、后序遍历和层次遍历算法。
ntree模块是对树的全部操作,它又分为建树(makentree)模块、深度优先遍历(shendu)模块、广度优先遍历(guangdu)模块、树转换成二叉树(change)模块,它们分别完成树的建立,以及深度优先、广度优先
文档评论(0)