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