一、顺序存储结构——顺序表
顺序表是用一段地址连续的存储单元依次存储线性表的数据元素。所以通常用数组来存储线性表,用数组存放,这意味着我们要确定数组的长度,分配固定长度的数组空间。
①特点:内存中地址连续,支持随机查找,按位查找算法的时间复杂度为O(1),按值查找的平均时间性能是O(n),插入删除操作的平均时间性能是O(n),适用于需要大量访问元素,而没有或少量增添或删除元素的程序。
②优点:随机访问较快,创建简单。
③缺点:插入和删除需要移动大量的元素;表的容量难以确定;造成存储空间的“碎片”等。
二、链接存储结构
1.单链表
单链表是用一组任意的存储单元存放线性表的元素,无需事先分配存储空间。
①特点:每一个结点有着数据域和指针域,指针域指向下一个结点。单链表是顺序存放,所以查询时的的平均时间性能是O(n),插入删除操作的平均时间性能是O(n),试用于需要大量进行增添或删除元素,而对访问元素无要求的程序(以下的循环链表、双链表同,不一一详述)
②优点:结构简单,存储空间小,能动态存储分配,插入和删除也无需移动元素,效率高。
③缺点:只能向前访问节点&