您现在的位置是:首页 >

顺序表和链表的时间复杂度 顺序表和链表的比较

火烧 2022-06-02 13:57:41 1041
顺序表和链表的比较 顺序表和链表的比较 顺序表和链表各有短长 在实际应用中究竟选用哪一种存储结构呢?这要根据具体问题的要求和性质来决定 通常有以下几方面的考虑 ┌───┬───────────────
顺序表和链表的时间复杂度 顺序表和链表的比较

顺序表和链表的比较  

顺序表和链表的比较

    顺序表和链表各有短长 在实际应用中究竟选用哪一种存储结构呢?这要根据具体问题的要求和性质来决定 通常有以下几方面的考虑 ┌───┬───────────────┬───────────────┐│      │         顺序表          │         链表            │├─┬─┼───────────────┼───────────────┤│基│分│静态分配 程序执行之前必须明确│动态分配只要内存空间尚有空闲 ││于│配│规定存储规模 若线性表长度n变 │就不会产生溢出 因此 当线性表││空│方│化较大 则存储规模难于预先确定│的长度变化较大 难以估计其存储│ │间│式│估计过大将造成空间浪费 估计太│规模时 以采用动态链表作为存储││考│  │小又将使空间溢出机会增多     │结构为好                     ││虑├─┼───────────────┼───────────────┤│  │存│为 当线性表的长度变化不大 │<                             ││  │储│易于事先确定其大小时 为了节约│                              ││  │密│存储空间 宜采用顺序表作为存储│                              ││  │度│结构                         │                              │├─┼─┼───────────────┼───────────────┤│基│存│随机存取结构 对表中任一结点都│顺序存取结构 链表中的结点 需││于│取│可在O( )时间内直接取得      │从头指针起顺着链扫描才能取得 ││时│方│线性表的操作主要是进行查找 很│                              ││间│法│少做插入和删除操作时 采用顺序│                              ││考│  │表做存储结构为宜             │                              ││虑├─┼───────────────┼───────────────┤│  │插│在顺序表中进行插入和删除 平均│在链表中的任何位置上进行插入和││  │入│要移动表中近一半的结点 尤其是│删除 都只需要修改指针 对于频││  │删│当每个结点的信息量较大时 移动│繁进行插入和删除的线性表 宜采││  │除│结点的时间开销就相当可观     │用链表做存储结构 若表的插入和││  │操│                              │删除主要发生在表的首尾两端 则││  │作│                              │采用尾指针表示的单循环链表为宜│└─┴─┴───────────────┴───────────────┘

    存储密度(Storage Density)是指结点数据本身所占的存储量和整个结点结构所占的存储量之比 即

    存储密度=(结点数据本身所占的存储量)/(结点结构所占的存储总量)

lishixinzhi/Article/program/sjjg/201311/22873  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码