顺序存储结构和单链表对比:
存储分配方式
- 顺序存储结构用一段连续的存储单元依次存储线性表的数据元素
- 单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素
时间性能
- 查找
- 顺序存储结构O(1)
- 单链表O(n)
- 插入和删除
- 顺序存储结构需要平均移动表长一半的元素,时间为O(n)
- 单链表在线找出某位置指针后,插入和删除时间仅为O(1)
空间性能
- 顺序存储需要预分配存储空间,分大了浪费,小了容易上溢。
- 单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制
结论
- 若线性表需要频繁查找,很少插入和删除操作时,宜采用顺序存储结构。若需要频繁插入和删除时,宜采用单链表结构。比如游戏开发中,用户的个人信息,一旦注册了就很少改变,绝大多数都是读取,所以应该考虑用顺序存储结构。而玩家的武器等,随时可能会增加或删除,因此采用单链表结构。
- 当线性表中的元素个数变化较大或者根本不知道有多大时,采用单链表,这样不需要考虑空间大小的问题。如果事先知道线性表的大致长度,则使用顺序存储结构效率会比较高。