• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
gaohuan30
博客园    首页    新随笔    联系   管理    订阅  订阅
数据结构与算法(线性结构-顺序表)

线性表的定义和性质

  线性表定义

   定义:线性表(Linear List)是具有相同物理含义、同一数据类型的n(n >= 0)个数据元素的有限序列。

  线性表的特性

   1)有且仅有一个开始节点

   2)有且仅有一个终端节点

   3)除了开始节点和终端节点外,其余节点都有且仅有一个直接前驱和直接后驱

  线性表常用的存储方式有两种,即顺序存储结构和链式存储结构

顺序表的定义和性质

  顺序表含义

   定义:在计算机中按顺序存储结构的线性表简称为顺序表(Sequential List)

  顺序表的特征

   1)存储单元地址连续(需要一段连续空间)

   2)逻辑上相邻的数据元素其物理地址也相邻

   3)随机存储

   4)存储密度大

  顺序表上的插入运算,时间主要消耗在节点的移动上,在第i个位置上插入x,从an到ai都要向下一个移动一个位置,共需移动n-i+1个节点,而i的取值范围为1≤i≤i+1,即有n+1个位置可以插入。

  顺序表删除运算的时间主要消耗在移动表的节点上,删除第i个节点,其后面的节点ai+1到an都要向上移动一个位置,共移动了n-1个节点。

   插入和删除时间复杂度为O(n),所以当n较大时,算法的效率较低。

  在线性表的顺序存储结构中,利用节点的存储位置来反映节点的逻辑关系,节点的逻辑次序与存储空间中的物理次序一致,因而只要确定了线性表中起始节点的存储位置,即可方便的计算出任一节点的存储位置,就可以实现节点的随机访问。

  顺序表优点:存储密度大,空间利用率高

  顺序表缺点:节点的插入,删除可能需要移动其他节点,一些长度变化较大的线性表必须按照最大需要的空间分配存储空间。

 

posted on 2020-05-08 16:33  gaohuan30  阅读(261)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3