数据结构复习之线性表

线性表基本概念

  线性表是零个或多个具有相同数据类型的数据元素的有序序列。

 

线性表的存储结构

  1.顺序存储结构

    存储方式:顺序储存结构用一段连续的存储单元一次存储线性表的的数据元素(通常由数组实现)

    适用情况:当线性表频繁查找,很少进行插入和删除操作的情况

    优缺点:

      优点:  无须为表示元素之间的逻辑关系而增加额外的存储空间

          可以快速地存取表中任一位置的元素

      缺点:  插入和删除元素操作需要移动大量元素

          当线性表长度变化较大时,难以确定存储空间的容量

          顺序存储结构需要预分配存储空间,分大了易造成浪费,分小了,易发生向上溢出

          造成存储的碎片化

  2.链式存储结构

    存储方式:单链表采用链式存储结构,用一组任意的存储单元存放线性表元素。

    适用情况:当线性表频繁插入和删除的情况,

         还有是线性表元素个数变化较大或根本不知道有多大的情况,这样无需考虑存储空间问题。

    优缺点:

      优点:  单链表在找出某位置的指针后,插入和删除时间仅为O(1)

          单链表不需要分配存储空间,只要有就可以分配,元素个数不受限制。

      缺点:  查找时需要遍历链表,平均移动表长的一般元素,时间为O(n),效率低。

    区分头指针和头结点。

    链式存储结构顺序表不同类型:

  • 单链表
  • 静态链表 ——   用数组描述的链表,不使用指针
  • 循环链表 —— 将单链表中最后一个结点的指针域由空指针改为指向头结点,形成一个环路,头尾相接的单链表。
  • 双向链表   ——  在单链表的每个结点再增加一个指向其前驱结点的指针域(在插入、删除时的修改两个指针变量)

 

posted on 2015-07-17 12:20  niuman  阅读(274)  评论(0编辑  收藏  举报

导航