知识大全 数据结构之顺序表和链表的比较[2]
Posted 元素
篇首语:没有一个冬天不可逾越,没有一个春天不会来临。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构之顺序表和链表的比较[2]相关的知识,希望对你有一定的参考价值。
链表的优缺点基本上与顺序表是相反 在实际应用中选取哪种存储结构应根据实际情况在存储和操作上进行权衡考虑
基于存储的考虑
顺序表的存储空间是静态分配的 在程序执行之前必须明确规定它的存储规模 也就是说事先对 MAXSIZE 要有合适的设定 过大造成浪费 过小造成溢出 如果对线性表的长度或存储规模难以估计时 不宜采用顺序表;链表不用事先估计存储规模 但链表的存储密度较低(存储密度是指一个结点中数据元素所占的存储单元和整个结点所占的存储单元之比)
基于操作的考虑
在顺序表中按序号访问元素的时间性能为O( ) 而链表中按序号访问的时间性能是O(n) 所以如果经常做的运算是按序号访问数据元素 显然顺序表优于链表;而在顺序表中做插入 删除时需移动元素 当数据元素的信息量较多且表较长时 这一点是不应忽视的;在链表中作插入 删除 虽然也要找插入位置 但主要是比较操作 从这个角度考虑显然链表较优
基于开发语言的考虑
顺序表容易实现 任何高级语言中都有数组类型 链表的操作是基于指针的 有些语言不支持指针类型 并且相对指针来讲顺序表较简单
总之 两种存储结构各有长短 选择那一种存储方式应由实际问题决定 通常 较稳定 的线性表选择顺序存储 而频繁做插入删除的即动态性较强的线性表宜选择链式存储
cha138/Article/program/sjjg/201311/22892相关参考
基于空间的考虑 当线性表的长度变化较大难以估计其存储规模时以采用动态链表作为存储结构为好 当线性表的长度变化不大易于事先确定其大小为了节约存储空间宜采用顺序表作为存储结构 存储密度(Storag
顺序表和链表的比较 顺序表和链表各有短长在实际应用中究竟选用哪一种存储结构呢?这要根据具体问题的要求和性质来决定通常有以下几方面的考虑┌───┬───────────
顺序表和链表的比较 ·基于空间 ·顺序表的存储空间是静态分配存储密度为适于线性表事先确定其大小时采用 ·链表的存储空间是动态分配存储密度<适于线性表长度变化大时采用 ·基于时间 ·
> 图静态链表 静态链表在算法设计中也有比较广泛的应用如前面所述的用顺序表求解约瑟夫问题其每次出列都必须删除这个元素我们知道顺序表删除元素需移动大量元素利用静态链表的思想来求解约瑟夫问题时可以
JAVA语言中链表和双向链表的实现 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 链表是一种重要
在程序设计语言中一维数组在内存中占用的存储空间就是一组连续的存储区域因此用一维数组来表示顺序表的数据存储区域是再合适不过的考虑到线性表的运算有插入删除等运算(即表长是不断变化的)因此数组的容量需足
顺序表的删除 线性表的删除运算是指将表的第i(≤i≤n)个位置上的结点删除使长度为n的线性表(a…aiai…an)变成长度为n的线性表(a…aiai+…an) 删除操作分为相应两个阶段只是顺序与前
知识大全 数据结构考研分类复习真题 第六章 答案 (五)[8]
.[题目分析]本题静态链表中结点是按动态二叉链表的前序遍历顺序存放的首先对动态二叉链表的二叉树进行前序遍历填写静态链表的下标和data域再对动态二叉链表的二叉树进行层次遍历设队列Q填写静态链表的l
顺序表的销毁 顺序表使用完后必须要销毁否则可能会造成内存资源浪费等问题顺序表的销毁操作实际上是初始化操作的逆运算由于要修改顺序表的指针变量所以要将指针地址传给该函数首先判断要销毁的表是否存在然后
线性表的顺序存储是线性表的一种最简单最直接的存储结构它是用内存中的一段地址连续的存储空间顺序存放线性表的每一个元素用这种存储形式存储的线性表我们称其为顺序表在顺序表中用内存中地址的线性关系表示线性