当前位置:首页
> 正文
数组和顺序链表的区别
作者:晨曦发布时间:2022-05-21浏览:474
数组和顺序链表的区别
1、数组的内存需要提前确定,一旦确定不能更改其大小;而链表会动态分配内存;
2、数组的内存空间在内存中是连续的;而链表的内存空间则不是连续的;
3、数组的元素在栈区分配空间(即数组存储的元素都是为基本数据类型);而链表在堆区分配空间(即链表中存储的元素为对象)
4、数组查询元素利用下标定位,时间复杂度为O(1);而链表定位元素的时间复杂度则为O(n);
5、数组插入或删除元素的时间复杂度为O(n);而链表插入和删除的时间复杂度为O(1);
数组
数组的存储方式是将元素在内存中连续存放,由于每个元素占用内存相同,所以可以通过下标迅速访问数组中的任何元素。但是如果要在数组中增加一个元素则需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想要删除一个元素,同样需要移动大量元素去填充掉被删除的元素。所以说数组查询元素速度较快,而增删元素速度较慢。
链表
链表恰好相反,链表中的元素在内存中不是顺序存储的,而是通过存在元素中的指针联系到一起的。比如:上一个元素有个指针指到下一个元素,以此类推,直到最后一个元素。如果需要访问链表中的一个元素,则需要从第一个元素开始,一直找到需要的元素位置。但是增加和删除一个元素对于链表结构就非常简单了,只要修改元素中的指针就可以了。所以说链表查询元素速度较慢,而增删元素速度较快。
声明:部分资源转载自互联网,转载目的在于传递更多知识,并不代表本网赞同其观点和对其真实性负责。如有侵权或者知识有谬误之处,麻烦通知删除,谢谢!联系方式: zzsla2022#163.com
相关推荐
- 告知承诺制和不告知承诺制的区别告知承诺制和不告知承诺制的区别是什么
- 财务管理属于财经专业吗财务管理属于什么专业
- 雪花啤酒产地哪里雪花啤酒产地
- 春天盛开的花都有哪些春天盛开的花
- 春赏百花冬观雪完整全诗春赏百花冬观雪出处
- 狗尾巴草会开花么狗尾巴草会不会开花
- 关于花的优美句子关于花的优美句子有哪些
- 桂花的室内养殖方法桂花的室内养殖方法是什么
- 含笑花怎么剪枝含笑花如何剪枝
- 荷花多久会开花荷花什么时候开花
- 大风蓝色和黄色哪个大大风蓝色预警严重吗
- 开州地理特征开州是哪个省哪个市
- 和谐号厕所在哪和谐号动车卫生间在哪
- 树上滴水是怎么回事路边的树为什么会滴水
- 蜂蜜用开水冲可以吗蜂蜜水能不能用开水冲
- 王婆卖瓜的王婆是谁王婆卖瓜什么意思
- 菠萝和凤梨怎么区分怎么分辨凤梨和菠萝
- 蔺草是什么草蔺草有什么作用
- 玫瑰花数量的寓意和花语不同数量玫瑰花的寓意
- 项目背景一般写什么项目背景包括什么内容