- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计(二叉树的建立和后序遍历的演示)
PAGE
数据结构课程设计(二叉树的建立和后序遍历的演示)
学 号:
0120710680326
课 程 设 计
题 目
二叉树的建立和后序遍历的演示
学 院
计算机科学与技术学院
专 业
软件工程专业
班 级
软件0703班
姓 名
张伟
指导教师
夏红霞
2009
年
7
月
2
日
课程设计任务书
学生姓名: 张伟 专业班级: 软件0703班
指导教师: 夏红霞 工作单位:计算机科学与技术学院
题 目: 二叉树的建立和后序遍历的演示
初始条件:
理论:学习了《数据结构》课程,掌握了基本的数据结构和常用的算法
实践:计算机技术系实验室提供计算机及软件开发环境。
要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1、系统应具备的功能:
(1)选择树的存储结构,建立二叉树
(2)用递归算法和非递归算法实现二叉树的后序遍历
(3)二叉树后序遍历的演示
2、数据结构设计;
3、主要算法设计;
4、编程及上机实现;
5、撰写课程设计报告,包括:
(1)设计题目;
(2)摘要和关键字(中文和英文);
(3)正文,包括引言、需求分析、数据结构设计、算法设计、程序实现及测试、不足之处、设计体会等;
(4)结束语;
(5)参考文献。
时间安排: 2009年6月29日-2009年7月3日 (第20周)
6月29日 查阅资料
6月30日 系统设计,数据结构设计,算法设计
7月1日 编程并上机调试
7月2日 撰写报告
7月3日 验收程序,提交设计报告书。
指导教师签名: 2009年6月26日
系主任(或责任教师)签名: 2009年6月26日
目录
摘要和关键字1
1 引言2
2 需求分析2
3 数据结构设计2
4算法设计3
5程序实现及测试5
6不足之处12
7设计体会12
8 结束语12
9参考文献12
PAGE 12
摘要:
二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。遍历是对树的一种最基本的运算,所谓遍历二叉树,就是按一定的规则和顺序走遍二叉树的所有结点,使每一个结点都被访问一次,而且只被访问一次。由于二叉树是非线性结构,因此,树的遍历实质上是将二叉树的各个结点转换成为一个线性序列来表示。后序遍历是先按遍历左子树,然后遍历右子树,最后访问根节点。而访问下一层节点是,必须记录上一层的节点信息,便于访问结束后退回上一层节点,所以用栈才存储节点信息。?
关键字:
二叉树 递归后序遍历 非递归后序遍历 栈
1.引言
在计算机科学中,二叉树是每个结点最多有两个子树的有序树。通常子树的根被称作“左子树”(left subtree)和“右子树”(right subtree)。二叉树常被用作二叉查找树和二叉堆。
后序遍历是 二叉树遍历的一种。后序遍历指在访问根结点、遍历左子树与遍历右子树三者中,首先遍历左子树,然后遍历右子树,最后遍历访问根结点,在遍历左、右子树时,仍然先遍历左子树,然后遍历右子树,最后遍历根结点。后序遍历有 递归算法和非递归 算法两种。
栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线形表。它是是一种 数据结构,它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。所以它非常适合存储二叉树的节点信息。
2.需求分析
二叉树一种数据结构,用于保存和处理树状的数据,比如家谱。他的应用极为广泛,因为根据数据结构的理论,任何复杂的树够可以转换为二叉中并进行处理,二叉树在排序、查找、大规模数据索引方面有很多很多应用。而且二叉树排序是简单算法排序中速度最快的。
在二叉树的一些应用中,常常要求在树中查找具有某种特征的节点,或者对树中全部节点逐一进行某种处理。这就提出了遍历二叉树。根据遍历的方向的选择,就有了后序遍历二叉树。因此掌握二叉树的后序遍历二叉树算法非常重要,而且高效的后序遍历算法能够节省很多成本。
3. 数据结构设计
3.1栈的数据结构设计
采用线性存储结构
template class DataType
class Stack{
private:
DataType *base; //栈尾
DataType *top; //栈顶
int stacksize;
原创力文档


文档评论(0)