二叉排序树的创建、删除、插入等操作

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档