文档介绍:.
1 / 22
《程序技术基础》课程实验指导
课程代码:070050 开课学期:4 开课专业:信管类
总学时/实验学时:64/32 总学分/实验学分:4/2
一、课程简介
数据结构是计算机各专业的重要技术基础课。在件查找学生
修改:按学号对某个学生的某门课程成绩进行修改
插入:增加新学生的信息
删除:按学号删除已退学的学生的信息。
学生成绩表的数据如下:
学号
姓名
性别
大学英语
高等数学
2008001
Alan
F
93
88
2008002
Danie
M
75
69
2008003
Helen
M
56
77
2008004
Bill
F
87
90
2008006
Peter
M
79
86
2008006
Amy
F
68
75
要求采用顺序存储结构来实现对上述成绩表的相关操作。
截图
实验心得:
实验二 链表的操作实验
一、实验名称和性质
所属课程
数据结构
实验名称
链表的操作
6 / 22
.
实验学时
4
实验性质
√验证 □综合 √设计
必做/选做
√必做 □选做
二、实验目的
1.掌握线性表的链式存储结构的表示和实现方法。
2.掌握链表基本操作的算法实现。
三、实验内容
1.建立单链表,并在单链表上实现插入、删除和查找操作〔验证性内容。
2.建立双向链表,并在双向链表上实现插入、删除和查找操作〔设计性内容。
3.计算已知一个单链表中数据域值为一个指定值x的结点个数〔应用性设计内容。
四、实验的软硬件环境要求
硬件环境要求:
PC机〔单机
使用的软件名称、版本号以及模块:
Netbeans 、MyEclipse等编程环境下。
五、知识准备
前期要求熟练掌握了Java语言的编程规则、方法和单链表和双向链表的基本操作算法。
六、验证性实验
运行结果参考如图4-1所示:
七、设计性实验
两个一元多项式的相乘 P54-55
截图:
7 / 22
.
八、应用性设计实验
编写一个程序,计算出一个单链表中数据域值为一个指定值x的结点个数。
实验要求:
⑴ 从键盘输入若干个整数,以此序列为顺序建立一个不带头结点的单链表;
⑵ 输出此单链表中的各个数据元素值;
⑶ 给定一个x的具体整数值,计算并返回此单链表中数据域值为x的结点个数值。
截图
实验心得:
实验三 栈和队列的操作实验
一、实验名称和性质
所属课程
数据结构
实验名称
栈和队列的操作
实验学时
4
实验性质
√验证 □综合 √设计
必做/选做
√必做 □选做
二、实验目的
1.掌握栈和对的存储结构的表示和实现方法。
2.掌握栈的入栈和出栈等基本操作算法实现。
3.了解栈在解决实际问题中的简单应用。
三、实验内容
1.建立顺序栈,并在顺序栈上实现入栈和出栈操作〔验证性内容。
8 / 22
.
2.建立链栈,并在链栈上实现入栈和出栈操作〔设计性内容。
3.实现汉诺〔Hanoi塔求解问题〔应用性设计内容。
四、实验的软硬件环境要求
硬件环境要求:
PC机〔单机
使用的软件名称、版本号以及模块:
Netbeans 、MyEclipse等编程环境下。
五、知识准备
前期要求熟练掌握了Java语言的编程规则、方法和顺序栈、链栈的基本操作算法。
六、验证性实验
实验截图
七、设计性实验
P111 4-1,4-3,4-4,4-5,4-10
截图:
4-1
4-3
4-4
4-5
4-10
八、应用性设计实验
编程实现汉诺〔Hanoi塔求解问题。
1.实验要求
9 / 22
.
假设有三个命名为X、Y和Z的塔座,在塔座X上插有n个直径大小各不相同且从小到大编号为1,2,……,n的圆盘。现要求将塔座X上的n个圆盘借助于塔座Y移至塔座Z上,并仍按同样顺序叠排。圆盘移动时必须遵循下列规则:
① 每次只能移动一个圆盘;
② 圆盘可以插在X、Y和Z中的任何一个塔座上;
③ 任何时刻都不能将一个较大的圆盘压在较小的圆盘上。
截图:
实验心得:
10 / 22
.
实验四 二叉树的遍历实验
一、实验名称和性质
所属课程
数据结构
实验名称
二叉树的操作
实验学时
4
实验性质
√验证 □综合 √设计
必做/选做
√必做 □选做
二、实验目的
1.理解二叉树的类型定义与性质。
2.掌握二叉树的二叉链表存储结构的表示和实现方法。
3.掌握二叉树遍历操作的算法实现。
4.熟悉二叉树遍历操作