二叉排序树的创建、删除、插入等操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
淮阴工学院
算法设计技能训练实习报告
题目:二叉排序树的创建、插入、
删除
系(院): 计算机工程学院
专业:计算机科学与技术
班级:计算机3123
学号:1121321124
姓名:单永明
页脚内容1
指导教师:刘作军/寇海州
学年学期:2014 ~ 2015 学年第1 学期
页脚内容2
算法设计技能训练任务书
页脚内容3
页脚内容4
指导教师(签章):
年月日
页脚内容5
目录
1、引言 (4)
2、课程设计的题目和内容 (5)
2.1课程设计的题目 (5)
2.2课程设计的内容 (5)
3、课程设计报告内容 (6)
3.1课程概述 (6)
3.2实验内容 (7)
3.3源程序代码 (10)
3.4测试用例 (15)
实验总结 (18)
致谢 (19)
参考文献 (20)
页脚内容6
1.引言
本算法设计技能训练的目的就是要达到理论与实际应用相结合,使同学们能够根据数据对象的特性,学会数据组织的方法,能把现实世界中的实际问题在计算机内部表示出来,并培养基本的、良好的程序设计技能。
页脚内容7
2、课程设计的题目和内容
2.1课程设计的题目
二叉排序树的基本操作
2.2、课程设计内容
1.用二叉链表作存储结构,
2.编写程序实现二叉排序树上的基本操作:
3.输入数列生成二叉排序树
4.对二叉排序作中序遍历;
5.查找二叉排序树
6.删除二叉排序树
页脚内容8
3、课程设计报告内容
3.1课题概述
1、问题描述:(需求分析和背景意义)
利用二叉排序树实现一个动态查找表。
2、基本要求:(设计阶段,概要设计和详细设计)
实现动态查找表的三种功能:查找、插入、删除。
3、测试数据:自行设定。
4、实现提示:
(1)初始,二叉排序树为空树,操作界面给出查找、插入和删除三种操作供选择。每种操作均要提示输入关键字。每次插入或删除一个结点后,应更二叉排序树的显示。
(2)二叉排序树的显示可采用凹入表现形式,也可以采用图形界面画出树行。
(3)教科书已给出查找和插入算法,本题重点在于对删除算法的设计和实现。假设要删除关键字为x的结点。如果x不在叶子结点上,则用它的左子树中最大值或右子树中的最小值取代x。如此反复取代,直到删除动作传递到某个叶子结点。删除叶子结点时,若需要进行平衡交换,可采用插入的平衡变换的反变换(如,左子树变矮对应右子树长高)。
页脚内容9
页脚内容10
页脚内容11
页脚内容12
页脚内容13
页脚内容14
页脚内容15
页脚内容16
页脚内容17
页脚内容18
页脚内容19
页脚内容20
页脚内容21
页脚内容22
页脚内容23
页脚内容24
页脚内容25
页脚内容26
页脚内容27
页脚内容28
页脚内容29
页脚内容30
页脚内容31
3.4测试用例:
1,程序运行时菜单显示如下:
当输入的二叉树序列为:{2,6,9,8,4}时,创建二叉排序树,并输出结果如下:
页脚内容32
1.查找9结点时,运行结果如下:
页脚内容33
2.删除结点6时运行结果如下:
3.插入结点7时运行结果如下:
页脚内容34
页脚内容35
页脚内容36
页脚内容37
页脚内容38
页脚内容39
指导教师评语
页脚内容40
人生旅程,坎坎坷坷,创业之路,艰难曲折;人生苦短,生活不易,工作繁重,请允许我借此机
会我提议两个愿望:
页脚内容41