数据库实验报告大全

更新时间:2024-03-02 19:53:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验B01: 顺序表的操作实验

一、实验目的

1.掌握线性表的顺序存储结构的表示和实现方法。 2.掌握顺序表基本操作的算法实现。 3.了解顺序表的应用。 二、实验内容

1.建立顺序表。

2.在顺序表上实现插入、删除和查找操作(验证性内容)。 3.删除有序顺序表中的重复元素(设计性内容)。

4.完成一个简单学生成绩管理系统的设计(应用性设计内容)。 三、设计性实验

编程实现删除有序顺序表中的所有重复元素,即使有序顺序表中相同的元素只保留一个。

1. 实验要求

⑴ 根据输入的n个非递减的有序数据建立一个有序顺序表,并输出有序顺序表中各元素值。

⑵ 删除有序顺序表中所有的重复元素,并显示删除后的有序顺序表中各元素值。 四、应用性设计实验

编程实现一个简单学生成绩管理系统的设计。 实验要求

此系统的功能包括:

① 查询:按特定的条件查找学生

② 修改:按学号对某个学生的某门课程成绩进行修改 ③ 插入:增加新学生的信息

④ 删除:按学号删除已退学的学生的信息。 学生成绩表的数据如下:

学号 2008001 2008002 2008003 2008004 2008006 2008006 姓名 Alan Danie Helen Bill Peter Amy 性别 F M M F M F 大学英语 高等数学 93 75 56 87 79 68 88 69 77 90 86 75 要求采用顺序存储结构来实现对上述成绩表的相关操作。 五、实验心得:

1

实验B02: 链表的操作实验

一、实验目的

1.掌握线性表的链式存储结构的表示和实现方法。 2.掌握链表基本操作的算法实现。 二、实验内容

1.建立单链表,并在单链表上实现插入、删除和查找操作(验证性内容)。 2.建立双向链表,并在双向链表上实现插入、删除和查找操作(设计性内容)。 3.计算已知一个单链表中数据域值为一个指定值x的结点个数(应用性设计内容)。 三、设计性实验

编程实现在双向循环链表上的插入和删除操作 1. 实验要求

(1)输入链表的长度和各元素的值,用尾插法建立双向循环链表,并输出链表中各元素值,观察输入的内容与输出的内容是否一致。

(2)在双向循环链表的第i个元素之前插入一个值为x的元素,并输出插入后的链表中各元素值。

(3)删除双向循环链表中第i个元素,并输出删除后的链表中各元素值。

(4)在双向循环链表中查找值为x元素,如果查找成功,则显示该元素在链表中的位序号,否则显示该元素不存在。 四、应用性设计实验

编写一个程序,计算出一个单链表中数据域值为一个指定值x的结点个数。 实验要求:

⑴ 从键盘输入若干个整数,以此序列为顺序建立一个不带头结点的单链表; ⑵ 输出此单链表中的各个数据元素值;

⑶ 给定一个x的具体整数值,计算并返回此单链表中数据域值为x的结点个数值。 五、实验心得:

2

实验B03: 栈的操作实验

一、实验目的

1.掌握栈的存储结构的表示和实现方法。 2.掌握栈的入栈和出栈等基本操作算法实现。 3.了解栈在解决实际问题中的简单应用。 二、实验内容

1.建立顺序栈,并在顺序栈上实现入栈和出栈操作(验证性内容)。 2.建立链栈,并在链栈上实现入栈和出栈操作(设计性内容)。 3.实现汉诺(Hanoi)塔求解问题(应用性设计内容)。 三、设计性实验

编程实现链栈的入栈和出栈操作。 1.实验要求

(1)根据输入的栈中元素个数和各元素值建立一个链栈,并输出链栈中各元素值, 观察输入的内容与输出的内容是否一致,特别注意栈顶元素的位置。

(2)将数据元素e入栈,并输出入栈后的链栈中各元素值。

(3)将链栈中的栈顶元素出栈,并输入出栈元素的值和出栈后链栈中各元素值。 四、应用性设计实验

编程实现汉诺(Hanoi)塔求解问题。 1.实验要求

假设有三个命名为X、Y和Z的塔座,在塔座X上插有n个直径大小各不相同且从小到大编号为1,2,……,n的圆盘。现要求将塔座X上的n个圆盘借助于塔座Y移至塔座Z上,并仍按同样顺序叠排。圆盘移动时必须遵循下列规则:

① 每次只能移动一个圆盘;

② 圆盘可以插在X、Y和Z中的任何一个塔座上; ③ 任何时刻都不能将一个较大的圆盘压在较小的圆盘上。

五、实验心得:

3

实验B04: 队列的操作实验

一、实验目的

1.掌握队列存储结构的表示和实现方法。 2.掌握队列的入队和出队等基本操作的算法实现。 3.了解队列在解决实际问题中的简单应用。 二、实验内容

1.建立循环顺序队列,并在循环顺序队列上实现入队、出队基本操作(验证性内容)。 2.建立循环链队列,并在循环链队列上实现入队、出队基本操作(设计性内容)。 3.设计一个程序模仿操作系统的进程管理问题(应用性设计内容)。 三、设计性实验

编程实现对循环链队列的入队和出队操作。 1.实验要求

⑴根据输入的队列长度n和各元素值建立一个带头结点的循环链表表示的队列(循环链队列),并且只设一个尾指针来指向尾结点,然后输出队列中各元素值。

⑵将数据元素e入队,并输出入队后的队列中各元素值。

⑶将循环链队列的队首元素出队,并输出出队元素的值和出队后队列中各元素值。 四、应用性设计实验

编程实现模仿操作系统的进程管理问题。 1.问题描述

操作系统中采用一个优先队列来管理进程。当优先级队列中有多个进程排队等待系统响应时,只要CPU空闲,进程管理系统就会从优先队列中找出优先级最高的进程首先出队并占有CPU资源,即按进程服务的优先级,优先级高的先服务;优先级相同的按先到先服务的原则进行管理。

五、实验心得:

4

实验B05: 二叉树的操作实验

一、实验目的

1.理解二叉树的类型定义与性质。

2.掌握二叉树的二叉链表存储结构的表示和实现方法。 3.掌握二叉树遍历操作的算法实现。 4.熟悉二叉树遍历操作的应用。 二、实验内容

1.建立二叉树的二叉链表存储结构。

2.实现二叉树的先根、中根和后根三种遍历操作(验证性内容)。

3.应用二叉树的遍历操作来实现判断两棵二叉树是否相等的操作(设计性内容)。 4.求从二叉树根结点到指定结点p之间的路径(应用性设计内容)。 三、设计性实验

编程实现根据二叉树的先序遍历序列和中序遍历序列来建立两棵二叉树,并判断这两棵二叉树是否相等。

1. 实验要求

⑴ 假设二叉树的结点值是字符,请分别根据输入的两棵二叉树的先根遍历序列和中根遍历序列来建立二叉链表表示的两棵二叉树。

⑵ 分别利用先根、中根和后根遍历方法来实现判断两棵二叉树是否相等的操作。 ⑶ 主程序中要求设计一个菜单,允许用户通过菜单来多次选择执行利用哪一种遍历方法来判断两棵二叉树是否相等。 四、设计性实验

编程求从二叉树根结点到到指定结点p之间的路径。 1. 实验要求

⑴ 假设二叉树的结点值是字符,请根据输入的二叉树后序遍历序列和中序遍历序列来建立二叉链表表示的二叉树,并对其进行某种遍历,输出遍历序列以验证建立的二叉树是否正确。

⑵ 任意给定一结点p,输出从二叉树的根结点到该结点p的路径。

五、实验心得:

5

实验B06: 静态表的查找操作实验

一、实验目的

1.掌握顺序查找操作的算法实现。

2.掌握二分查找操作的算法实现及实现该查找的前提。 3.掌握索引查找操作的算法实现 二、实验内容

1.建立顺序查找表,并在此查找表上实现顺序查找操作(验证性内容)。 2.建立有序顺序查找表,并在此查找表上实现二分查找操作(验证性内容)。 3.建立索引查找表,并在此查找表上实现索引查找操作(设计性内容)。 三、设计性实验 1.实验要求 编程实现如下功能: (1)建立索引查找表

(2)利用索引查找确定给定记录在索引查找表中的块号和在块中的位置。 四、实验心得:

6

试验7:二叉排序树的操作实验

一.实验目的

1.掌握二叉排序树的含义及其在计算机中的存储实现。

2.掌握在二叉排序树上查找操作的算法实现。 3.掌握二叉排序树的插入、删除操作的算法实现。 二.实验内容

1.建立二叉排序树。

2.在二叉排序树上实现对给定值进行查找操作(验证性内容)。 3.判断一棵二叉树是否为二叉排序树(设计性内容)。

4.在采用二叉排序树为数据结构的学生信息管理系统中实现查找操作(应用性设计内容)。

三.设计性实验

编程判断一棵二叉树是否为二叉排序树。 1.实验要求

⑴ 二叉树采用二叉链表作为存储结构,且树中结点的关键字均不相同。 ⑵ 要输出最后的判断结果。 四.应用性设计实验

编程设计一个简单的学生信息管理系统。每个学生的信息包括学号、姓名、性别、班级和电话等。

实验要求:

⑴ 采用二叉排序树的结构创建学生的信息表。

⑵ 能按照学号或姓名查找学生的信息。如果查找成功,则输出学生的所有信息,否则输入查找失败的提示信息。 五.实验心得:

7

试验9:排序操作实验

一、实验目的

1.熟悉并掌握各种排序方法的设计思路。

2.掌握各种具体排序算法在计算机上的实现。 3.掌握各种排序方法的性能比较。 二、实验内容

1.比较用直接插入排序、冒泡排序和简单选择排序方法进行排序时对关键字的比较次数和移动次数(验证性内容)。

2.希尔排序、归并排序和快速排序算法的实现(设计性内容)。 3.对学生成绩表中相关信息的排序(应用性设计内容)。 三、设计性实验

缟程实现希尔排序、归并排序和快速排序。 要求:

① 对输入的同一组待排序的数据进行希尔排序、快速排序和归并排序,并分别输出排序前的数据序列和排序后的数据序列。

② 在主程序中设计一个菜单,使用户可选择执行其中的任何一种或几种排序,并查看排序结果。

四、应用性设计实验

编程实现对学生成绩表的相关信息排序。 要求:

⑴ 建立一个由n个学生的考试成绩表,每条信息由学号、姓名和分数组成。 ⑵ 按学号排序,并输出排序结果。

⑶ 按分数排序,分数相同的则按学号有序,并输出排序结果。

⑷ 排序方法及学生成绩表的存储结构不作限制,学生选择性能较好的即可。 五、实验心得:

8

实验B10: 图的操作实验

一、实验目的

1.掌握图的相关概念。

2.掌握用邻接矩阵和邻接表的方法描述图的存储结构。

3.掌握图的深度优先搜索和广度优先搜索遍历的方法及其计算机的实现。 4.理解最小生成树的有关算法 二、实验内容

1.用邻接表作为图的存储结构建立一个图,并对此图分别进行深度优先搜索和广度优2.用邻接矩阵作为图的存储结构建立一个网,并构造该网的最小生成树(设计性内容)。 3.校园导游程序的实现(应用性设计内容)。 三、设计性实验

用邻接矩阵作为图的存储结构建立一个网,并构造该网的最小生成树。 1.实验要求

(1) 输入无向网的顶点数、边数及各条边的顶点序号对和边上的权值,建立用邻接矩阵表示的无向网。

(2) 构造该无向网的最小生成树。 四、应用性设计实验

校园导游程序的实现。 实验要求:

用无向图表示你所在学校的校园景点平面图,图中顶点表示主要景点,存放景点的编号、名称、简介等信息,图中的边表示景点间的道路,存放路径长度等信息。要求实现以下功能:

⑴ 查询各景点的相关信息。

⑵ 查询图中任意两个景点间的最短路径。 ⑶ 查询图中任意两个景点间的所有路径。 五、实验心得:

先搜索遍历(验证性内容)。

9

10

本文来源:https://www.bwwdw.com/article/5gfa.html

Top