如果对你有帮助,请下载使用!
《计算机软件基础》实验要求
一、实验内容
实验一 顺序表
1.目的(1)掌握线性表的概念。(2)熟练掌握线性表的顺序存储结构。(3)熟练掌握线性表在顺序存储结构上的运算。(4)了解测试的思想。
2.内容
(1)编写算法实现顺序表中元素的逆置。要求按用户输入的数据建立一个顺序表。在逆置的过程中使用最少的辅助存储单元。测试要求:在空表、长度为奇数和偶数的情况下测试程序运行情况。
(2)己知顺序表中的元素非递减有序排列,编写算法删除顺序表中值相同的多余的元素。测试要求:在空表、有1组相同元素、有2组连续相同元素、有2组以上不连续相同元素的情况下测试程序运行情况。
(3)编写算法,在非递减有序的顺序表中,插入一个给定的元素,插入后该顺序表仍然递增有序。测试要求:在空表、表头、表尾、表中间插入及位置非法的情况下测试程序运行情况。
(4)有两个顺序表A(有m个元素)和B(有n个元素),其元素均按从小到大的升序排列。编写算法,将这两个顺序表合并成一个顺序表C,要求C也是按从小到大的升序排列。测试要求:在A与B均空、A与B一个为空、A与B均不空且等长、A与B均不空且不等长的情况下测试程序运行情况。
实验二链表
1.目的(1)掌握链表的概念。(2)熟练掌握线性表的链式存储结构。(3)熟练掌握线性表在链式存储结构上的运算。
2.内容
(1)编写算法,根据用户输入的整数分别用尾插法和头插法创建一个带头结点的单链表,-1作为输入数据的结束符。测试要求:建立空链表、非空链表的情况下测试程序运行情况。
(2)编写算法,在带有头结点的单链表中查找序号为i的结点和值为x的结点并输出。测试要求:在空链表、i与x在链表头、i与x在链表尾、i与x在链表中间、i与x在链表中不存在的情况下测试程序运行情况。
(3)己知单链表中的元素非递减有序排列,编写算法删除单链表中值相同的多余的元素。测试要求:在空链表、有1组相同元素、有2组连续相同元素、有2组以上不连续相同元素的情况下测试程序运行情况。
(4)已知单链表中的数据元素递增有序,编写算法,删除表中值在min与max之间的结点。测试要求:在空链表、max小于链表第1个元素值、min大于链表最后1个元素值、min与max在链表中间的情况下测
1
如果对你有帮助,请下载使用!
试程序运行情况。
实验三 排序
1.目的: (1)掌握直接插入排序的算法。 (2)掌握冒泡排序的算法。 (3)掌握简单选择排序的算法。
2.内容:编写算法,利用直接插入排序的算法、冒泡排序的算法、简单选择排序的算法(快速排序与堆排序自选)对数据序列进行排序(大于20000个数据,可用随机函数产生数据)。测试要求:在原始数据随机、正序和逆序情况下,进行排序效率的比较,给出结果(排序使用的时间表)。 提示:随机函数:srand(time(NULL));rand()%n+1 排序时间#include
time_t start,end; double t;
start=clock();……; end=clock();t=difftime(end,start);(输出用%fms)
二、参考教材、实验指导书
参考教材1:《程序设计方法与案例分析》 作者:林志英等编 :人民邮电 参考教材2:《算法与数据结构实验与习题》 作者:孟佳娜等编 :机械工业 参考教材3:《数据结构习题解答与考试指导》 作者:梁作娟等编 :清华大学
三、实验及报告要求
(一).实验要求
1.实验前,每位同学要按照实验内容要求认真做好预习,编制好实验所需程序及相关数据。 2.每次做实验前,教师检查每位学生的预习情况。
3.按时到达实验地点,严格遵守实验室的有关规定。实验结束后,要注意关闭自己所用的计算机。 4.实验后要上交实验报告。实验报告要使用标准纸张(大小同A4纸)书写。
(二).实验报告应包括以下内容:
1.实验目的 2.实验内容 3.算法设计方案 (1)数据结构 (2)算法设计:
对于每个函数,要求如下:
1)函数名 2)入口参数 3)出口参数 4)设计思路 5)算法流程图 6)源程序清单(程序
2
《计算机软件基础》实验要求201910



