第三章 线性表(顺序存储结构和单链表)

来源:互联网 发布:网上兼职淘宝刷好评 编辑:程序博客网 时间:2024/05/17 22:20

顺序存储结构和单链表对比:

存储分配方式

  • 顺序存储结构用一段连续的存储单元依次存储线性表的数据元素
  • 单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素

时间性能

  • 查找
    • 顺序存储结构O(1)
    • 单链表O(n)
  • 插入和删除
    • 顺序存储结构需要平均移动表长一半的元素,时间为O(n)
    • 单链表在线找出某位置指针后,插入和删除时间仅为O(1)

空间性能

  • 顺序存储需要预分配存储空间,分大了浪费,小了容易上溢。
  • 单链表不需要分配存储空间,只要有就可以分配,元素个数也不受限制

结论

  • 若线性表需要频繁查找,很少插入和删除操作时,宜采用顺序存储结构。若需要频繁插入和删除时,宜采用单链表结构。比如游戏开发中,用户的个人信息,一旦注册了就很少改变,绝大多数都是读取,所以应该考虑用顺序存储结构。而玩家的武器等,随时可能会增加或删除,因此采用单链表结构。
  • 当线性表中的元素个数变化较大或者根本不知道有多大时,采用单链表,这样不需要考虑空间大小的问题。如果事先知道线性表的大致长度,则使用顺序存储结构效率会比较高。
0 0