链表和数组的区别在哪里?
二者都属于一种数据结构
从逻辑结构来看
1. 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
2. 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素
从内存存储来看
1. (静态)数组从栈中分配空间, 对于程序员方便快速,但是自由度小
2. 链表从堆中分配空间, 自由度大但是申请管理比较麻烦
从上面的比较可以看出,如果需要快速访问数据,很少或不插入和删除元素,就应该用数组;相反, 如果需要经常插入和删除元素就需要用链表数据结构了。
http://www.cnblogs.com/FCWORLD/archive/2010/11/20/1882391.html
http://blog.sina.com.cn/s/blog_75b0e2ad0101bx53.html
链表和数组的区别在哪里?相关推荐
- php数组和链表的区别,什么是链表?链表与数组的区别?
链表的相关知识整理 什么是链表 链表是一种物理存储单元上非连续.非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的.链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时 ...
- 数据结构 - 链表和数组的区别
文章目录 数据结构 - 链表和数组的区别 1.在内存上 2.时间复杂度 3.链表的结构 4.各自的优缺点 5.为什么使用较常用的是单头链表 数据结构 - 链表和数组的区别 1.在内存上 数组是连续内存 ...
- 链表及链表与数组的区别优缺点
链表的概念 链表是一种物理存储结构上非连续,非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的. 链表的结构是多式多样的,当时通常用的也就是两种: 无头单向非循环列表: ...
- 链表与数组的区别以及链表相关的操作
1.链表与数组的区别 2.链表的创建以及链表的静态添加 3.链表的动态添加(头插法) 1.链表与数组的区别: 谈到链表与数组的区别,可以从几个不同的角度来谈, 首先从逻辑结构上说,两者都是数据结构的一 ...
- java数组和链表的区别_java中链表和数组的区别?
综述:数组是线性结构,可以直接索引,即要去第i个元素,a[i]即可.链表也是线性结构,要取第i个元素,只需用指针往后遍历i次就可.貌似链表比数组还要麻烦些,而且效率低些. 想到这些相同处中的一些细微的 ...
- 静态链表和数组的区别
读<大话数据结构> 在学习静态链表时候,觉得他和数组神似,于是就搜一搜他们的区别哇. 静态链表的C实现和核心点(基于数据结构 严蔚敏)
- 链表和数组的区别在哪里
1. 数组在内存中栈上按顺序存储的,而链表是在堆上随机存储的. 2. 要访问数组中的元素可以按下标索引来访问,速度比较快,如果对他进行插入操作的话,就得移动很多元素,所以对数组进行插入操作效率很低. ...
- 1.(2)数据结构之链表的定义,链表和数组的区别
本人坚持更新C语言,数据结构,操作系统知识,可以收藏+关注随时了解
- 单向链表与双向链表的区别
昨天面试官面试的时候问了我一道关于链表的问题:情境如下 面试官:请说一下链表跟数组的区别? 我: 数组静态分配内存,链表动态分配内存:数组在内存中连续,链表不连续:数组利用下标定位,时间复杂度为O(1 ...
最新文章
- java和python哪个好就业2020-java和python哪个未来发展比较好?
- Dynamic Web Module 3.0 requires Java 1.6 or newer
- VTK:图片之DrawShapes
- ArrayAndString(数组和字符串)
- ffmpeg分析系列
- LINUX操作系统的内核编译内幕详解一
- TED如何和压力做朋友(第二天)
- 发光二极管pcb封装图画法_【干货】LED封装形式分类解析
- Javaweb-标签介绍
- iphone7p配置参数详情_求iPhone7具体参数配置
- SVN冲突的原因和解决
- K8S 创建 Deployment
- 【深度】谭铁牛院士谈人工智能发展新动态
- 对技术的态度/编程修养(上)
- c++:dll缺少依赖文件的解决方法
- 请收藏——QKL123!它能帮你挖掘项目价值(附2019年3月排行榜)
- oracle00279,ORACLE數據恢復
- python中可以终结一个循环的保留字是_以下可以终结一个循环的保留字是
- 装机员 GHOST WIN XP SP3 装机版2016
- Python 处理超大 JSON 文件,这个方法简单!
热门文章
- Ubuntu18突然卡死解决方法
- 关于“Unknown or unsupported command ‘install‘”问题解决的小结
- 安装cuda时 提示toolkit installation failed using unsupported compiler解决方法
- Java中Jedis连接Linux上的Redis出现connect time out(解决方案)
- Java web中不同浏览器间导出Excel文件名称乱码问题解决方案
- 解决UE4 Launcher启动速度极慢的方法
- 如何解决 kubernetes 重启后,启来不来的问题
- 解决 ImportError: No module named ‘pip._internal‘问题
- 如何获取查询生成器以字符串形式输出其原始SQL查询?
- 在JavaScript控制台中包含jQuery