
数组与链表的优缺点/效率问题
发布日期:2021-05-04 03:27:36
浏览次数:12
分类:技术文章
本文共 1321 字,大约阅读时间需要 4 分钟。
数组,在内存上给出了连续的空间.链表,内存地址上可以是不连续的,每个链表的节点包括原来的内存和下一个节点的信息(单向的一个,双向链表的话,会有两个).
数组优于链表的: 1.内存空间占用的少,因为链表节点会附加上一块或两块下一个节点的信息.但是数组在建立时就固定了.所以也有可能会因为建立的数组过大或不足引起内存上的问题. 2.数组内的数据可随机访问.但链表不具备随机访问性.这个很容易理解.数组在内存里是连续的空间.比如如果一个数组地址从100到200,且每个元素占用两个字节,那么100-200之间的任何一个偶数都是数组元素的地址.可以直接访问.链表在内存地址可能是分散的.所以必须通过上一节点中的信息找能找到下一个节点. 3.查找速度上.这个也是因为内存地址的连续性的问题.不罗索了. 链表优于数组的: 1.插入与删除的操作.如果数组的中间插入一个元素,那么这个元素后的所有元素的内存地址都要往后移动.删除的话同理.只有对数据的最后一个元素进行插入删除操作时,才比较快.链表只需要更改有必要更改的节点内的节点信息就够了.并不需要更改节点的内存地址. 2.内存地址的利用率方面.不管你内存里还有多少空间,如果没办法一次性给出数组所需的要空间,那就会提示内存不足,磁盘空间整理的原因之一在这里.而链表可以是分散的空间地址. 3.链表的扩展性比数组好.因为一个数组建立后所占用的空间大小就是固定的.如果满了就没法扩展.只能新建一个更大空间的数组.而链表不是固定的,可以很方便的扩展.数组与链表的优缺点;
数组:优点:使用方便 ,查询效率 比链表高,内存为一连续的区域
缺点:大小固定,不适合动态存储,不方便动态添加
链表:优点:可动态添加删除 大小可变
缺点:只能通过顺次指针访问,查询效率低补充:
顺序表的优点:查找方便,适合随机查找
顺序表的缺点:插入、删除操作不方便,因为插入、删除操作会导致大量元素的移动 链接表的优点:插入、删除操作方便,不会导致元素的移动,因为元素增减,只需要调整指针。 顺序表的缺点:查找方便,不适合随机查找
链表的特性是在中间任意位置添加删除元素的都非常的快,不需要移动其它的元素。 链表顾名思义,要把各个元素链接起来才算撒。 通常链表每一个元素都要保存一个指向下一个元素的指针(单链表)。 双链表的化每个元素即要保存到下一个元素的指针,还要保存一个上一个元素的指针。 循环链表则把最后一个元素中保存下一个元素指针指向第一个元素。 数组是一组具有相同类型和名称的变量的集(百度)合。这些变量称为数组的元素,每个数组元素都有一个编号,这个编号叫做下标,我们可以通过下标来区别这些元素。数组元素的个数有时也称之为数组的长度。 |
数组在进行查找,排序操作是很方便;链表不需要连续空间,而且作插入操作方便! 分配空间上也不同,建立过程也不同! |
链表和数组的本质差异
1 在访问方式上 数组可以随机访问其中的元素 链表则必须是顺序访问,不能随机访问 2 空间的使用上 链表可以随意扩大 数组则不能原文链接 http://blog.csdn.net/kunikida/article/details/7657501
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年03月26日 17时34分40秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
单链表的练习
2019-03-03
Linux中的C语言程序编译过程
2019-03-03
C程序举例:利用数组
2019-03-03
VBA之正则表达式(19)-- 相对引用转绝对引用
2019-03-03
巧用VBA统一数字单位
2019-03-03
你所不知道的Excel自定义函数BUG
2019-03-03
Transpose实现数组行列转置的限制
2019-03-03
VBA中数组72变(随心所欲复制)
2019-03-03
[Golang]golang中自动锁的实现
2019-03-03
installgithub-支持断点续传下载GitHubDesktop离线安装文件
2019-03-03
用float/double作为中转类型的“雷区”
2019-03-03
golang中interface的一些语法缺陷的改进
2019-03-03
关于实时TopN排名算法的思考
2019-03-03
vue-router路由 学习笔记
2019-03-03
python自然语言处理—Word2vec模型之 CBOW
2019-03-03
数据结构与算法之栈
2019-03-03
理解java中的happens-Before
2019-03-03
2021Kali -- 木马免杀制作
2019-03-03
2020-12-16 SSD4实验
2019-03-03
数据结构大作业--迷宫问题
2019-03-03