- 1、本文档共125页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验题目--13级
实验一 线性表的顺序存储实验
一、实验目的
1、掌握用Visual C++6.0上机调试顺序表的基本方法
2、掌握顺序表的基本操作,插入、删除、查找等算法的实现
二、实验内容
1、顺序表基本操作的实现
[问题描述] 当我们要在顺序表的第i个位置上插入一个元素时,必须先将顺序表中第i个元素之后的所有元素依次后移一个位置,以便腾空一个位置,再把新元素插入到该位置。若是欲删除第i个元素时,也必须把第i个元素之后的所有元素前移一个位置。
[基本要求] 要求生成顺序表时,可以键盘上读取元素,用顺序存储结构实现存储。
实验二 单链表实验
1、掌握用Visual C++6.0上机调试单链表的基本方法
2、掌握单链表的插入、删除、查找、求表长以及有序单链表的合并算法的实现
二、实现内容
1、单链表基本操作的实现
[问题描述]要在带头结点的单链表h中第i个数据元素之前插入一个数据元素x ,首先需要在单链表中寻找到第i-1个结点并用指针p指示,然后申请一个由指针s 指示的结点空间,并置x为其数据域值,最后修改第i-1个结点,并使x结点的指针指向第i个结点,要在带头结点的单链表h中删除第i个结点,首先要计数寻找到第i个结点并使指针p指向其前驱第i-1个结点,然后删除第i个结点并释放被删除结点空间。
[基本要求]用链式存储结构实现存储
[实现提示]链式存储结构不是随机存储结构,即不能直接取到单链表中某个结点,而要从单链表的头结点开始一个一个地计数寻找。
2、求表长以及有序单链表的合并算法的实现
[问题描述] 假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。请编写算法将这两个单链表归并为一个按元素值递减次序排列的单链表,并计算表长。要求利用原来两个单链表的结点存放归并后的单链表。
[基本要求]用链式存储结构实现存储
实验 栈的实现及应用
[基本要求]非负的十进制整数N和B都从键盘输入;转换结果从屏幕输出。
实验四 队列的实现及应用
1、掌握队列的类型定义方法。
2、理解和掌握循环队列解决假溢出的方法。
二、实验内容
1、利用循环队列模拟舞伴配对问题:在舞会上,男、女各自排成一队。舞会开始时。依次从男队和女队的队头各出一人配成舞伴。如果两队初始人数不等,则较长的那一队中未配对者等待下一轮舞曲。 2、假设初始男、女人数及性别已经固定,舞会的轮数从键盘输入。试模拟解决上述舞伴配对问题。 3、要求:从屏幕输出每一轮舞伴配对名单,如果在该轮有未配对的,能够从屏幕显示下一轮第一个出场的未配对者的姓名。
实验五 树的基本操作
一、实验目的
1、进一步掌握指针变量、动态变量的含义。
2、掌握二叉树的结构特性,以及各种存储结构的特点和适用范围。
3、掌握用指针类型描述、访问和处理二叉树的运算。
二、实验内容
1、以二叉链表作存储结构,试编写前序、中序、后序遍历二叉树的算法。
2、赫夫曼树的算法。(可选作)
实验六 图的基本操作
一、实验目的
1、掌握图的存储方式
2、 掌握图的相关操作
二、实验内容
1、实现拓扑排序算法。
2、最短路径算法。(可选作)
实验七 查找
一、实验目的
1、掌握查找的不同方法,并能用高级语言实现查找算法。
2、熟练掌握顺序表的查找方法和有序顺序表的折半查找算法以及静态查找树的构造方法和查找算法。
3、掌握二叉排序树的生成、插入、删除、输出运算。
二、实验内容
1、有序顺序表的二分查找的递归算法
实验八 排序
一、实验目的
1、掌握排序的不同方法,并能用高级语言实现排序算法
二、实验内容
1、实现希尔排序算法。
2、实现快速和堆排序算法。(可选作)
注:实验报告的要求听从带实验?
教务处制
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
第
?
?
?
5?
?
?
页
?
?
e?=?s-data;?
?
free(s);?
?
return?L;?
}?
?
?
void?PrintLinkListTranfer(LinkList?L)?
{?
?
LinkList?p,s,print;?
?
p?=?L-next;?
?
L-next?=?NULL;?
?
while(p)?
?
{?
?
?
s?=?p;?
?
?
p?=?p-next;?
?
?
s-next?=?L-next;?
?
?
L-next?=?s;?
?
}?
?
for(print?=?L-next;print?!=NULL;print?=?print-next)?
?
{?
?
?
pr
文档评论(0)