首先链表和顺序储存都是数据结构中线性表的一种结构,其各有优缺点
这是《大话数据结构》中的一张图
主要提炼:
若线性表需要频繁的查找,很少进行插入和删除操作时,应该选用顺序储存结构。
若线性表需要频繁的插入和删除操作时,很少查找时,应该选用链表结构。
why?
从时间性能来考虑的话,查找:
顺序结构O(1),单链表(N)
插入删除
顺序:平均移动一半的距离O(N)
单链表在找出位置的指针后,插入和删除的时间复杂度仅为O(1)
从空间复杂度来看的话:
顺序需要预分配存储空间,,but数据是不确定的,分大浪费,分小上溢。
单链表不需要分配储存空间,只要有就可以分配,元素个数也不受限制
So,当数据大小不确定的时候,最好使用单链表,但是像一年12月,一周7天这种还是用顺序存储比较效率高一点。