定义:零个或多个数据元素的有限序列。
特性:
1.元素之间是有顺序的,若元素存在多个,则第一个元素无前驱元素,最后一个元素无后继元素,其他每个元素都有且只有一个前驱和后继元素。
2.线性表是有限的。
线性表的实现:
-数组(Array)
-链表(Linked)
-栈(Stack)
-队列(Queue)
-跳表(Skip List)
-散列表(Hash Table)
数组与链表之间的比较
存储分配方式:
数组:顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。
链表:单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。
时间性能:
数组:随机访问的时间复杂度为O(1),插入和删除的时间复杂度是O(n)。
链表:随机访问的时间复杂度为O(1),插入和删除的时间复杂度是O(1)。
空间性能:
数组:顺序存储结构需要预分配存储空间,分大了,浪费,分小了容易反生溢出。
链表:不需要分配存储空间,只要有就可以分配,元素个数也不受限制