知识大全 顺序表和链表的比较

Posted 结点

篇首语:同时赶两只兔,一只也捉不到。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 顺序表和链表的比较相关的知识,希望对你有一定的参考价值。

顺序表和链表的比较

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

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

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

cha138/Article/program/sjjg/201311/22873

相关参考

知识大全 数据结构之顺序表和链表的比较[2]

  链表的优缺点基本上与顺序表是相反在实际应用中选取哪种存储结构应根据实际情况在存储和操作上进行权衡考虑  基于存储的考虑  顺序表的存储空间是静态分配的在程序执行之前必须明确规定它的存储规模也就是说

知识大全 数据结构线性表之顺序表和链表的比较

基于空间的考虑  当线性表的长度变化较大难以估计其存储规模时以采用动态链表作为存储结构为好  当线性表的长度变化不大易于事先确定其大小为了节约存储空间宜采用顺序表作为存储结构  存储密度(Storag

知识大全 09年自考《数据结构》各章要点一[5]

  顺序表和链表的比较  ·基于空间  ·顺序表的存储空间是静态分配存储密度为适于线性表事先确定其大小时采用  ·链表的存储空间是动态分配存储密度<适于线性表长度变化大时采用  ·基于时间  ·

知识大全 JAVA语言中链表和双向链表的实现

JAVA语言中链表和双向链表的实现  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  链表是一种重要

知识大全 线性表的链式表示与实现

第八课本课主题线性表的链式表示与实现教学目的掌握线性链表单链表静态链表的概念表示及实现方法教学重点线性链表之单链表的表示及实现方法教学难点线性链表的概念授课内容一复习顺序表的定义二线性链表的概念以链式

知识大全 单链表的查找运算

单链表的查找运算()按序号查找①链表不是随机存取结构    在链表中即使知道被访问结点的序号i也不能像顺序表中那样直接按序号i访问结点而只能从链表的头指针出发顺链域nex

知识大全 数据结构考研分类复习真题 第六章 答案 (五)[8]

  .[题目分析]本题静态链表中结点是按动态二叉链表的前序遍历顺序存放的首先对动态二叉链表的二叉树进行前序遍历填写静态链表的下标和data域再对动态二叉链表的二叉树进行层次遍历设队列Q填写静态链表的l

知识大全 线性表 - 链式存储结构- 单链表的运算(四)

  单链表的查找运算  ()按序号查找  ①链表不是随机存取结构  在链表中即使知道被访问结点的序号i也不能像顺序表中那样直接按序号i访问结点而只能从链表的头指针出发顺链域  next逐个结点往下搜索

知识大全 查找 - 线性表的查找 - 分块查找

  分块查找  分块查找(BlockingSearch)又称索引顺序查找它是一种性能介于顺序查找和二分查找之间的查找方法  二分查找表存储结构  二分查找表由分块有序的线性表和索引表组成  ()分块有

知识大全 数据结构之单链表基本运算的实现[15]

  >  图静态链表  静态链表在算法设计中也有比较广泛的应用如前面所述的用顺序表求解约瑟夫问题其每次出列都必须删除这个元素我们知道顺序表删除元素需移动大量元素利用静态链表的思想来求解约瑟夫问题时可以