《数据结构》实验二: 线性表综合实验——总结线性表的几种主要存储结果

来源:互联网 发布:风行云 知乎 编辑:程序博客网 时间:2024/06/06 00:01

《数据结构》实验二:

                线性表综合实验

一.实验目的

     巩固线性表的数据结构的存储方法和相关操作,学会针对具体应用,使用线性表的相关知识来解决具体问题。

 

二.实验时间

   准备时间为第3周到第4周,具体集中实验时间为第4周第2次课。2个学时。

 

三..实验内容

1.建立一个由n个学生成绩的顺序表,n的大小由自己确定,每一个学生的成绩信息由自己确定,实现数据的对表进行插入、删除、查找等操作。分别输出结果。

要求如下:

1)用顺序表来实现。

2)用单链表来实现。

3)用双链表实现。

4)用静态链表实现。

5)用间接寻址实现。

分开写程序,可以一个方法分别写一博客文章上交作业。

 

2.实现两个集合的相等判定、并、交和差运算。要求:

  1)自定义数据结构

  2)自先存储结构,并设计算法。在VC中实现。

以上三题,第1题必须完成。第2和第3题可以作为选做题。

四.实验报告

1.在博客中先写上实习目的和内容,画出主要操作运算算法图,然后分别上传程序代码。插入调试关键结果截图。

2.单独写一个博文,比较总结线性表的几种主要存储结果。


总结:

顺序表:线性表的顺序存储结构,是用一段地址连续的存储单元依次存储线性表的数据元素。存取结构中,随机存取时可以通过找到对应的数组下标找到相应元素,所以,时间复杂度为O(1);而顺序存取则需从第一个元素开始,直到找到对应元素,所以时间复杂度为O(n)插入和删除操作需要移动元素,时间复杂度为On)。

单链表:是用一组任意的存储单元存放线性表的元素,插入和删除不需要移动元素,是顺序存储结构;存储特点为:逻辑次序和物理次序不一定相同,元素之间的逻辑关系用指针表示。其存取操作、插入、删除操作时间复杂度都为O(n),但插入和删除无需移动元素。

双链表:在单链表的每一个节点中再设置一个指向其前驱结点的指针域,能够快速确定表中任一节点的前驱结点。

静态链表:是用数组来表示单链表,用数组元素的下标来模拟单链表的指针。在插入和删除操作时,只需修改游标,无需移动元素。

间接寻址:是将数组和指针结合起来的一种方法,它将数组中存储数据元素的单元改为存储指向该元素的指针,插入时,移动的不是元素而是指向元素的指针。


阅读全文
0 0
原创粉丝点击