没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论





















数据结构课程设计报告
***大学
*******学院
数据结构课程设计报告
( 2011——2012 年度第一学期)
课程名称: 数据结构课程设计
题 目:建立二叉树并求指定结点路径
院 系: 电信学院计算机科学系
班 级:
姓 名:
学 号:
指导教师:
成 绩:
1

数据结构课程设计报告
2011 年 12 月 8 日
成 绩 评 定
一、 指导教师评语
二、 成绩
成绩 备注
2

数据结构课程设计报告
指导教师:
日 期: 年 月 日
[题目] 建立二叉树并求指定结点路径。
[问题描述]
要求能够按先序遍历的次序输入二叉树的各个结点,并能够输出中嘘遍历的序列看,以及
指定的路径
[基本要求]
分别建立二叉树存储结构的输入函数,输出中序编列的函数,以及指定结点的路径函数
1.需求与规格说明
① 定义二叉树的存储结构,每个结点设置三个域:值域、左指针域、右指针域。要建立
二叉树 T 的链式存储结构,即建立二叉链表。根据输入二叉树结点的形式不同,建立的
方法也不同,本系统采用先序序列递归建立二叉树,建立如下图所示的二叉树。应该在程
序运行窗口的主菜单后,选择“1”并回车,紧接着在程序运行窗口中提示信息“输入二叉树
的先序序列结点值”之后,采用以下字符序列:ABC@@DE@G@@F@@@(@代表空
格)作为建立二叉树 T 的输入字符序列并回车,窗口出现:二叉树的链式存储结构建立
完成。
3
C
D
E
B
F
A

数据结构课程设计报告
图 1:二叉树的图形结构
② 利用栈的非递归中序遍历算法思想:从中序遍历递归算法的执行过程可知,递归工作
栈中包括两项:一项是递归调用的语句编号,另一项这是指向根节点的指针。当栈定记录
中的指针为空时,应该遍历左子树,即指向左子树根结点的指针进栈;否则,当栈定记录
中的指针为空时,则应该访问当前栈定记录中的指针中指针的根结点;若是从那个左子树
返回,则应该访问当前栈定记录中的指针所指向的根节点;若是从右子树返回,则说明单
花钱层已遍历结束,继续退栈。由此可以非递归的中序遍历算法。
需要在程序运行窗口的主菜单中选择"2"并回车,程序运行窗口会出现以下的中序遍
历序列: CBEGDFA
③ 求二叉树的指定结点路径:在程序运行窗口的主菜单中选择"3"并回车,在程序运
行窗口中提示信息"输入要求路径的结点值:"输入"G"并回车,会得到的结果为:
—>A—>B—>D—>E—>G
如果输入"I"并回车,得到结果为:
没有要求的结点
2.设计
1)设计思想
树形结构是一类很重要的非线性数据结构,树中结点之间具有明确的层次关系,并且
结点之间有分支,它非常类似域实际的树。树形结构在客观世界中的大量存在,如行政组
织和人类社会的加入关系等都可以用树形结构形象的表示。在计算机领域,树结构也被广
泛地应用。例如在编译程序中,用树结构来表示源程序的语法结构;在数据库系统中,用
树的结构来表示组织信息;在计算机图形学习中,用数结构来表示图像关系等。
利用一个简单的菜单,通过菜单项进行选择,实现和完成如下功能:建立二叉树的中
序遍历、求二叉树指定结点的路径、求二叉树的深度、求二叉树的叶子结点个数及交换二
叉树的左右子树。
(1)存储结构。
采用二叉树的链式存储结构
(2)主要算法基本思想。
主函数 int main()
输入函数 scanf()
4
G

数据结构课程设计报告
输出函数 printf()
二叉树的先序建立函数 CreateBiTree()
结点查找函数 FindBT()
求结点路径函数 NodePath()
2)设计表示
(1)函数接口说明。
为实现上述的设计要求,首先要定义二叉树的链式存储结构,采用二叉树链表的方式,
类型说明如下所示:
Typedef char datatype;
Typedef struct nodel{
Datatype data;
Struct node *lchild,*rchild;
}bintnode;
Typedef bintnode *bintree;
接口说明如下:
Status CreateBiTree(BinTree &bt)/*照先序遍历次序递归建立二叉树*/
Status Inorder(BinTree bt)/*二叉树非递归中序遍历算法*/
Voidn NodePath(BinnTree bt,BinTNode*ch)/*求二叉树根结点到结点*p 的路径*/
(2)函数调用关系如图所示。
5
开始
主函数
建立二叉树
剩余21页未读,继续阅读
资源评论


bruthwe
- 粉丝: 0
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 公益慈善电子商务平台项目建设方案.doc
- 网络应用基础在线考核.doc
- 三菱PLC与MCGS组态触摸屏在广场喷泉控制系统的集成应用解析
- 基于51单片机的GPS定位系统的设计.doc
- 网络公司电话销售话术.doc
- 系统集成项目管理工程师9大知识体系汇总.doc
- 综合布线标识设计方案.pptx
- 国家开放大学电大《思想道德修养与法律基础》网络核心课终结性考试三套试题及答案.docx
- 商业银行大数据建设规划.docx
- 数字电路后端设计逻辑综合.ppt
- 虚拟化方案-供参考.doc
- 2023年计算机二级语言笔试试卷.doc
- 秦皇岛二中校园网络视频直播方案成功案例.docx
- 公司项目管理手册实施细则.doc
- 网络营销概要.pptx
- 六自由度系统集成设计(一)PPT课件.ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
