- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014秋学期算法与数据结构
实
验
报
告
项目名称:
指导老师: 金萍老师
项目: 2014-11-8
项目: 瞿子晶
目录
一. 引言 2
1.1 编写目的 2
1、 熟练掌握二叉树的存储结构。 2
2、 熟练掌握二叉树基本操作的实现。 2
1.2 参考资料 2
二. 项目介绍 2
2.1 项目简介 2
2.2 软件运行环境 2
三. 需求分析 2
3.1 总体需求分析 2
3.2 主界面需求分析 2
四. 总体模块设计 3
1. 操作菜单: 3
2. 选择菜单: 3
3. 二叉树的创建: 3
4. 二叉树的销毁: 3
5. 先序遍历二叉树: 3
6. 中序遍历二叉树: 3
7. 后序遍历二叉树: 3
8. 层序遍历二叉树: 3
10. 测量二叉树深度: 3
五. 详细设计 4
1.主函数 4
2.菜单函数 4
3.二叉树操作菜单 4
4.创建二叉树函数 4
5.销毁二叉树函数 4
6.先序遍历二叉树 4
7.中序遍历二叉树 5
8.后序遍历二叉树 5
9.层序遍历二叉树 5
10.叶子结点的数目 5
11.测量二叉树深度 5
六. 心得体会 6
七. 附录(代码) 6
二叉树的遍历
引言
编写目的
1、 熟练掌握二叉树的存储结构。
2、 熟练掌握二叉树基本操作的实现。
参考资料
《数据结构(C语言版)》;
项目介绍
项目简介
二叉树(Binary Tree)是另一种树型结构,它的特点是每个结点至多只有两棵子树(即二叉树中不存在度大于2的结点),并且,二叉树的子树有左右之分,其次序不能任意颠倒。
开发工具
Microsoft Visual C++6.0
软件运行环境
※ 处理器无要求,32MB以上内存,硬盘1GB以上
※ Microsoft(R) Windows(R) 系列所有操作系统
需求分析
总体需求分析
1.二叉树的创建
2. 二叉树的销毁
3. 先序遍历二叉树
4. 中序遍历二叉树
5. 后序遍历二叉树
6. 层序遍历二叉树
7. 统计二叉树中叶子结点的数目
8. 测量二叉树的深度
3.2主界面需求分析
设计菜单界面显示所有操作。
总体模块设计
操作菜单:输出选择界面菜单
选择菜单:输入数字选择对应操作功能
二叉树的创建:按先序次序建立一个新的二叉树
二叉树的销毁:将二叉树销毁
先序遍历二叉树:先序遍历T,对每个结点函数调用Visit一次且一次。一旦Visit()失败,则操作失败。
中序遍历二叉树:中序遍历T,对每个结点函数调用Visit一次且一次。一旦Visit()失败,则操作失败。
后序遍历二叉树:后序遍历T,对每个结点函数调用Visit一次且一次。一旦Visit()失败,则操作失败。
层序遍历二叉树:层序遍历T,对每个结点函数调用Visit一次且一次。一旦Visit()失败,则操作失败。
叶子结点的数目:统计二叉树中叶子结点的数目
测量二叉树深度:测量二叉树的深度
详细设计
1.主函数
功能说明 主函数 原型 void main() 输入 按键输入 输出 无 返回值 无
2.菜单函数
功能说明 主函数 原型 void Menu() 输入 按键输入 输出 无 返回值 无
3.二叉树操作菜单
功能说明 二叉树操作菜单 原型 void Select(BiTree T) 输入 输入 0-8数字 输出 无 返回值 无
4.创建二叉树函数
功能说明 先序创建二叉树 原型 Status CreateBiTree(BiTree T) 输入 无 输出 无 返回值 二叉树的根地址
5.销毁二叉树函数
功能说明 销毁二叉树 原型 Status DestroyBiTree(BiTree T) 输入 无 输出 无 返回值 二叉树的根地址
6.先序遍历二叉树
功能说明 先序遍历二叉树 原型 Status PreOrderTraverse(BiTree T, Status(*Visit)(TElemType e)) 输入 无 输出 无 返回值 若遍历成功,则返回OK,否则返回ERROR
7.中序遍历二叉树
功能说明 中序遍历二叉树 原型 Status InOrderTraverse(BiTree T, Status(*Visit)(TElemType e)) 输入 无 输出 无 返回值 若遍历成功,则返回OK,否则返回ERROR
文档评论(0)