当前位置:   article > 正文

java数据结构排序实验报告_数据结构实验指导书(java版).doc

排序算法程序实验报告java语言

数据结构实验指导书(java版)

实验一、单链表的基本操作

一、实验目的

1、掌握线性链表的操作特点,即指针是逻辑关系的映像。

2、掌握动态产生单链表的方法。

3、熟练掌握单链表的插入、删除操作特点,即指针赋值的先后次序。

4、熟练掌握单链表的取元素操作

二、实验内容

1、定义单链表类型并动态创建单链表;

2、实现单链表的取元素操作、插入操作和删除操作;

3、实现输出单链表中各元素值的操作;

4、将单链表中的最小元素移到最前面。

三、实验环境

eclipse环境

四、实验步骤

1、定义单链表节点类;

2、定义单链表类,并实现单链表的创建、插入、删除、取元素操作和将单链表中的最小元素移到最前面的操作;

3、从键盘上依次输入21、75、30、18、42、56,顺序或逆序创建单链表,并输出单链表中的各元素值;

5、分别在单链表的第3个位置和第9个位置插入67和10,给出插入成功或失败的信息,并输出单链表中的各元素值;

6、删除单链表中的第6个数据元素和第8个数据元素,给出删除成功或失败的信息,并输出单链表中的各元素值;

7、取单链表中的第5个数据元素和第7个数据元素;

8、将单链表中的最小元素移到最前面,并输出单链表中的各元素以检查操作是否正确实现。

五、问题讨论

1、单链表具有什么优缺点?

2、单链表的定义与顺序表的定义有什么区别?

3、逆序创建单链表有什么好处?

六、实验报告内容

1、实验目的实验要求完成情况实验过程中遇到的问题及解决方法程序清单所输入的数据及相应的运行结果实验实验二、二叉树的遍历和二叉查找树

一、实验目的

1、掌握二叉树的特点及其存储方式;

2、掌握二叉树的创建;

3、掌握二叉树前序、中序、后序遍历的基本方法及应用;

4、掌握二叉查找树的特点;

5、掌握二叉查找树查找(包含contain)、插入和删除操作的实现。

二、实验内容

1、用前序方法建立一棵二叉树;

2、实现前序、中序和后序遍历二叉树的操作;

3、实现统计二叉树叶子结点个数或计算二叉树深度的操作;

4、将输入的一组数据逐个插入实现创建二叉查找树;

5、用非递归实现二叉查找树的查找和删除操作。

三、实验环境

eclipse环境

四、实验步骤

1、二叉链表节点类的定义;

2、二叉树类的定义;

3、建立下图所示的二叉树

以字符串的形式“根左右”定义一棵二叉树时,写出创建二叉树的操作:

4、编程实现以上二叉树的前序、中序和后序遍历操作,输出遍历序列;

5、完成统计以上二叉树中叶子结点的个数或计算以上二叉树的深度;

6、定义二叉查找树类;实现二叉查找树的查找、插入和删除操作;

7、从键盘上输入六个整数45、24、53、12、37、9构造二叉查找树,输出二叉查找树的中序遍历结果;

8、在二叉查找树上查找37和50,并输出能否查找成功;

9、删除数据元素24和53,输出其中序遍历结果。

五、问题讨论

1、先序、中序、后序遍历二叉树的区别?

2、在先序、中序非递归算法中为什么使用栈?能不能借助其它数据结构来实现?

3、二叉查找树中序遍历结果有什么特点?

4、在二叉查找树中插入一个新结点,总是插入到叶结点下面吗?

5、在任意一棵非空二叉查找树中,删除某结点后又将其插入,则所得二叉查找树与原二叉查找树相同吗?

六、实验报告内容

1、实验目的实验要求完成情况实验过程中遇到的问题及解决方法程序清单所输入的数据及相应的运行结果实验实验三、内部排序

一、实验目的

1、理解排序的有关概念和特点。

2、熟练掌握直接插入排序、希尔排序、快速排序、堆排序、归并排序算法的基本思想。

3、关键字序列有序与无序,对于不同的排序方法有不同的影响,通过该实验进一步加深理解。

二、实验内容

输入一组数据,然后用直接插入排序、希尔排序、快速排序、堆排序、归并排序算法进行排序。

三、实验环境

eclipse环境

四、实验步骤

1、实现直接插入排序、希尔排序、快速排序、堆排序、归并排序算法;要求输出各种排序算法每一趟排序的结果;

2、从键盘输入8个整数{ 12 , 45 , 21 , 12 , 30 , 2 , 68 , 33 },存放在数组quick[8]中,调用各种排序算法,观察每一趟排序结果次序的变化;

3、如果上述8个整数按照升序输入,即k1={ 2 , 12 , 12 , 21 , 30 , 33 , 45 , 68 },输出各种排序算法每一趟排序的结果,观察关键字次序的变化;

4、如果上述8个整数按照降序输入,即k2={ 68 , 45 , 33 , 30 , 21 , 12 , 12 , 2},输出各种排序算法每一趟排序的结果,观察关键字次序的变化;

5、随机产生3万个数,对其进行排序,观察其结果,并测试各排序算法的执行时间,比较执行效率。

五、问题讨论

1、直接插入排序、希尔排序、快

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/674294
推荐阅读
相关标签
  

闽ICP备14008679号