(数据结构)线性表(总结)——链式存储结构与顺序储存结构的优缺点
我们从存储分配方式、时间性能和空间性能三个方面进行对比。
1、储存分配方式
顺序存储结构是一段连续的存储单元,依次存储线性表的数据元素。
链式存储结构是一组任意的存储单元,存放线性表的元素。
2、时间性能
a、查找
顺序存储结构:0(1)
链式存储结构:0(n)
b、插入和删除
顺序存储结构的插入和删除需要平均线性表的长度一半的元素,时间是0(n)。
链式存储结构的插入和删除是在找出某个位置的指针后,插入和删除时间是0(1)。
3、空间性能
顺序存储结构需要预先分配出存储空间,这块存储空间是大小是规定的,如果存储数据元素<存储空间,会浪费内存,如果存储数据元素>存储空间,会发生上溢。
链式存储空间不需要预先分配存储空间,只要你要存储数据,则随即可以分配,而且数据元素的个数是不受限制的。
总结:
1、如果线性表需要频繁进行查找的操作,很少进行插入和删除操作时,优先采用顺序存储结构。
2、如果线性表需要频繁进行插入和删除操作,很少进行查找的操作时,优先采用链式存储结构。
3、当不知道线性表的元素个数时,优先采用链式存储结构。
(数据结构)线性表(总结)——链式存储结构与顺序储存结构的优缺点相关推荐
- 数据结构-线性表(链式存储结构)
线性表(链式存储结构) 特点: 用一组任意的存储单元存储线性表的数据结构,这组存储单元可以是连续的,也可以是不连续的. 对数据结构ai来说,除了存储其本身的信息之外,还需存储一个指示其后继的信息(即直 ...
- JAVA数据结构 线性表的链式存储及其实现
2019独角兽企业重金招聘Python工程师标准>>> 2线性表的链式存储及其实现 虽然顺序表具有随机存取的特点是一种有用的存储结构但是也有缺陷: (1) 若需要给顺序表增 ...
- 数据结构-线性表的链式存储(包含代码实现)
线性表的链式表示和实现 链式存储结构 结点在存储器中的位置是任意的,即逻辑上相邻的数据元素在物理上不一定相邻 线性表的链式存储结构又称为非顺序映像或链式映像. 用一组物理位置任意的存储单元来存放线性表 ...
- 数据结构和算法:(3)3.2线性表的链式存储结构
线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素也就是说你这个可以放在A地点,这个可以放在E地点,A地点和E地点中间可以隔开一个C地点和D地点,这样是允许的),这组存储单元可以存在 ...
- 从零开始学数据结构和算法(二)线性表的链式存储结构
链表 链式存储结构 定义 线性表的链式存储结构的特点是用一组任意的存储单元的存储线性表的数据元素,这组存储单元是可以连续的,也可以是不连续的. 种类 结构图 单链表 应用:MessageQueue 插 ...
- 《数据结构》c语言版学习笔记——其他链表(线性表的链式存储结构Part2)
线性表的链式存储结构 数据结构系列文章 第三章 循环链表.双向链表 文章目录 线性表的链式存储结构 前言 一.循环链表 (一)定义 (二)尾指针 二.双向链表 (一)定义 (二)代码 总结 前言 提示 ...
- 《数据结构》c语言版学习笔记——单链表结构(线性表的链式存储结构Part1)
线性表的链式存储结构 数据结构系列文章 第二章 单链表结构 文章目录 线性表的链式存储结构 前言 一.单链表的建立 代码 二.单链表的读取 代码 三.单链表的插入 代码 四.单链表的删除 代码 五.单 ...
- Python 数据结构 之 线性表 的链式存储结构
用Python 来实现 C语言中 线性表的链式存储结构. 文章转载请注明: Python 数据结构 之 线性表 的链式存储结构 代码地址 https://github.com/WenkeZhou/P ...
- 【数据结构】CH2 线性表的链式存储结构
目录 一.链表概述 1.相关定义 二.单链表 1.插入和删除节点的操作 (1)插入结点 (2)删除结点 2.建立单链表 (1)头插法 (2)尾插法 3.线性表基本运算在单链表中的实现 (1)初始化线性 ...
- 数据结构开发(5):线性表的链式存储结构
0.目录 1.线性表的链式存储结构 2.单链表的具体实现 3.顺序表和单链表的对比分析 4.小结 1.线性表的链式存储结构 顺序存储结构线性表的最大问题是: 插入和删除需要移动大量的元素!如何解决? ...
最新文章
- javascript中关于this指向问题详解
- 系统设计与架构笔记:ETL工具开发和设计的建议
- Atlas风云——送给防范网络侵权的人
- Win7 SP1 msado15 unresolved external symbol
- 2020测试机械硬盘软件,YDT 3825-2020面向互联网应用的机械硬盘测试规范.pdf
- 数据结构与算法 / 散列表(HashTable)
- 亚马逊高级应用科学家熊元骏:人类行为理解研究进展 | PhD Talk #19
- 简单的学习心得:网易云课堂Android开发第六章SQLite与ContentProvider
- shell生成随机文件名
- 第四节:跨域请求的解决方案和WebApi特有的处理方式
- glibc交叉编译_TSN之linuxptp交叉编译
- BZOJ 4259: 残缺的字符串 [FFT]
- 遇到一个valgrind自身的bug
- mysql 队列表设计_mysql主从同步操作,及队列设计
- OC基础--OC中类的定义
- JZOJ 4230. 淬炼神体
- 超详细的MySQL完全卸载教程
- 工业相机参数及选型参考
- yum -y --downloadonly --downloaddir=/root/ruiy update
- 大数据培训:hadoop基础教程