数据结构 – 链表和数组的区别[通俗易懂]

数据结构 – 链表和数组的区别[通俗易懂]文章目录数据结构-链表和数组的区别1、在内存上2、时间复杂度3、链表的结构4、各自的优缺点5、为什么使用较常用的是单头链表数据结构-链表和数组的区别1、在内存上数组是连续内存,因为是静态分配,所以不可扩容链表是非连续内存,动态分配,也没有顺序,它通过链表中的next指针保存逻辑顺序2、时间复杂度查找时间复杂度1、数组使用下标定位,1次就可以找到,O(1)2、链表需要循环去找,最大需要N次,O(N)插入删除时间复杂度1、数组插入删除需要移动其它元素,复杂度

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

数据结构 – 链表和数组的区别


1、在内存上

数组是连续内存,因为是静态分配,所以不可扩容
链表是非连续内存,动态分配,也没有顺序,它通过链表中的 next 指针保存逻辑顺序

2、时间复杂度

查找时间复杂度
1、数组使用下标定位,1次就可以找到 ,O(1)
2、链表需要循环去找,最大需要N次,O(N)

插入删除时间复杂度
1、数组插入删除需要移动其它元素,复杂度 O(N)
2、链表插入删除不需要移动其它元素,复杂度 O(1)

3、链表的结构

常用的链表结构有两种
1、只带有 next 指针的单头链表
2、既带有 next 指针,又带有父指针的双头链表

4、各自的优缺点

数组优缺点
优点
1、查找速度快

缺点
1、数组插入删除效率低
2、内存连续,容易造成内存碎片
3、不能动态扩容

链表优缺点
优点
1、插入删除效率高

缺点
1、查找效率低

5、为什么使用较常用的是单头链表

为什么大多数情况下单头链表比双头链表用的更多,虽然双头链表更具有优势,因为双头链表需要比单头链表更大的内存空间
而一般情况下,我们会选择用时间换空间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/219101.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 双机热备 ip地址_防火墙双机热备技术「建议收藏」

    点击上方蓝字关注我吧!双机热备技术双机热备技术产生的原因:传统的组网中,内部用户和外部用户的交互全部通过唯一的一台防火墙,当该防火墙出现故障时,内部网络中所有的主机与外部网络之间的通讯将中断,通讯可靠性无法保证。双机热备技术的出现改变了可靠性难以保证的尴尬状态,通过在网络出口部署两台或多台网关设备,保证了内部网络于外部网络之间的通讯畅通。为了避免传统组网中所形起的单点故障的发生,通常情况…

    2022年4月9日
    63
  • java定时任务接口ScheduledExecutorService

    java定时任务接口ScheduledExecutorService一、ScheduledExecutorService设计思想ScheduledExecutorService,是基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,也就是说

    2022年7月1日
    28
  • google搜索引擎怎么用_日本搜索引擎

    google搜索引擎怎么用_日本搜索引擎搜索引擎命令大全!1、双引号把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配。bd和Google都支持这个指令。例如搜索:“seo方法图片”2、减号减号代表搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词。Google和bd都支持这个指令。

    2022年9月10日
    2
  • laravel ajax 解决报错419 csrf 问题

    laravel ajax 解决报错419 csrf 问题

    2022年2月15日
    56
  • tomcat突然宕机问题解决方案

    tomcat突然宕机问题解决方案一.tomcat突然宕机时间2019年10月19号8点30分51秒,xxxx系统生产环境的92机器出现tomcat突然宕机问题。二.问题定位1.排查tomcat的启停日志。在文件tomcat/logs/localhost.xxxx.log,排查tomcat的启停日志正常。在宕机时刻,有关闭日志输出。2.使用history命令,查看系统的操作命令。发现使用‘./bi…

    2022年7月26日
    32
  • 粒子群优化算法(PSO)简介及MATLAB实现[通俗易懂]

    粒子群优化算法(PSO)简介及MATLAB实现[通俗易懂]目录粒子群优化算法概述PSO算法步骤PSO(粒子群优化算法)与GA(遗传算法)对比PSO的MATLAB实现粒子群优化算法概述•粒子群优化(PSO,particleswarmoptimization)算法是计算智能领域,除了蚁群算法,鱼群算法之外的一种群体智能的优化算法,该算法最早由Kennedy和Eberhart在1995年提出的,该算法源自对鸟类捕食问题的研究。…

    2022年5月4日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号