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

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

相关文档
最新文档