链表的最大特点就是,你知道该结点,你就一定知道下一个结点。
——我们学习线性表最主要的就是学习单链表
——我们分别从存储分配方式、时间性能、空间性能三个方面来做对比。
1.存储分配方式:
- 顺序存储结构用一段连续的存储单元依次存储线性表的数据元素。
- 单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素。
2.时间性能:
— 查找
- 顺序存储结构O(1)
- 单链表O(n)
— 插入和删除
- 顺序存储结构需要平均移动表长一半的元素,时间为O(n)
- 单链表在计算出某位置的指针后,插入和删除时间仅为O(1)
3.空间性能:
- 顺序存储结构需要预分配存储空间,分大了,容易造成空间浪费,分小了,容易发生溢出。
- 单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制。
综上所述对比,我们得出一些经验性的结论:
——若线性表需要频繁查找,很少进行插入和删除操作时,宜采用顺序存储结构。
——若需要频繁插入和删除时,宜采用单链表结构。