数据结构实验指导书
- 格式:doc
- 大小:42.00 KB
- 文档页数:3
《数据结构 》实验指导书
实验类别: 课内实验 实验课程名称: 数据结构
实验室名称:软件工程实验室 实验课程编号: 02060002
总学时: 64 学 分: 4
适用专业: 计算机科学与技术、网络工程、软件工程
先修课程: 计算机导论及操作、离散数学
实验在教学培养计划中地位、作用:
数据结构是计算机软件相关专业的主干课程,也是计算机软硬件专业的重要基础课程。数据结构课程实验的目的是通过实验掌握数据结构的基本理论和算法,并运用它们来解决实际问题。数据结构课程实验是提高学生动手能力的重要的实践教学环节,对于培养学生的基本素质以及掌握程序设计的基本技能并养成良好的程序设计习惯方面发挥重要的作用。
实验一 线性表的应用(2学时)
1、实验目的
通过本实验,掌握线性表链式存储结构的基本原理和基本运算以及在实际问题中的应用。
2、实验内容
建立某班学生的通讯录,要求用链表存储。
具体功能包括:
(1)可以实现插入一个同学的通讯录记录;
(2)能够删除某位同学的通讯录;
(3)对通讯录打印输出。
3、实验要求
(1)定义通讯录内容的结构体;
(2)建立存储通讯录的链表结构并初始化;
(3)建立主函数:
1)建立录入函数(返回主界面)
2)建立插入函数(返回主界面)
3)建立删除函数(返回主界面)
4)建立输出和打印函数(返回主界面)
I)通过循环对所有成员记录输出
II)输出指定姓名的某个同学的通讯录记录
5)退出
1. 设计一个算法,利用单链表中的各个原来的结点空间将一个单链表就地转置。
2. 设计一个算法,将一个结点值为自然数的单链表拆分为两个单链表,原表中保留值为偶数的结点,而值为奇数的结点按它们在原表中的相对次序组成一个新的单链表。
3. 两个有序表合并成一个有序表。
实验二 栈和队列的应用(2学时)
1、实验目的
通过本实验掌握栈、队列的插入和删除操作,了解栈、队列在实际中的应用并熟练运用栈、队列解决实际问题。
2、实验内容
编写一个算法,利用栈的基本运算将指定栈中的内容进行逆转。
编写一个算法,利用队列和栈的基本运算将指定队列中的内容进行逆转。
3、实验要求 (1)创建栈、队列的结构体;
(2)编写栈、队列链式结构的插入、删除操作;
(3)对栈、队列进行数据的输入并将原始数据转置。
实验三 串的应用(2学时)
1、实验目的
通过本实验掌握串的插入、删除、查找、匹配等基本操作,了解串在实际中的应用并熟练运用串解决实际问题。
2、实验内容
编写一个算法,实现顺序存储方式下字符串的strcompare (S1,S2) 运算。
编写一个算法,实现链式存储方式下字符串的strcompare (S1,S2) 运算。
3、实验要求
(1)创建串的结构体;
(2)编写串的顺序结构、链式结构下的创建、匹配操作;
(3)对串进行数据的输入并实现两个串的比较操作。
实验四 树的应用 (2学时)
1、实验目的
通过本实验掌握二叉的建立和递归遍历、非递归遍历算法,了解二叉树在实际中的应用并熟练运用二叉树解决实际问题。
2、实验内容
根据前序遍历的顺序建立一棵二叉树,并根据遍历规则遍历二叉树。
打印输出。
3、实验要求
(1)根据前序遍历的顺序创建一棵二叉树;
()对二叉树进行前序、中序、后序遍历。
实验三 图的应用(2学时)
1、实验目的
通过本实验掌握图的存储结构与基本运算以及图的深度优先遍历和 图的广度优先遍历算法在实际问题中的应用。
2、实验内容
按照邻接表对图进行创建,并运用图的深度优先遍历和 图的广度优先遍历算法对所创建的无向图进行遍历。
3、实验要求
(1)按照邻接表创建图的结构体;
(2)创建一个无向图;
(3)对创建好的图进行深度优先或广度优先遍历。
实验四 排序方法实践(2学时)
1、实验目的
通过本实验掌握排序的基本算法和过程以及查找的基本方法和过程。
2、实验内容
设计一个排序和查找系统。能够实现对给定的一组学生的借书证信息(如:卡号、姓名、系别、班号等)进行排序和查找。
1)按照卡号顺序进行排序;
2)能够实现查找某个系的所有的借书卡号并输出。
3、实验要求
(1)建立关于借书证信息结点的结构体; (2)定义借书证信息的记录并录入基本信息;
(3)写出用某种排序算法(如冒泡排序)按关键字对记录进行排序的算法函数;
(4)对借书证信息的记录按系名建立索引查找结构;
(5)输入某个要查找的系名,用索引查找方法查找并输出该系的所有借书证信息。