可视化线性表之单链表

前言

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

概念介绍

  • 线性表的基本概念已经在上节可视化线性表之顺序存储过程中讲解,下面我们主要讲解线性表的链式存储原理。

原理讲解

我们以[12 8 3 24 21 6 11 15 22 9]这个序列为例说明线性表的链式存储的实现原理

  • 在未作任何操作时,效果如下图

    在这里插入图片描述

获取元素

  • 我们获取一个值为6的元素,我们会从头元素12开始依次往后遍历直到找到值6的元素(如果整个线性表遍历结束没有找到目标值,则返回空)效果如下图

    在这里插入图片描述

删除元素

  • 随机删除位置2的元素,此时该元素值为3。删掉该元素后,元素值8的后继元素值由3变为24,元素值24的前驱元素由3变为8,效果如下图

    在这里插入图片描述

插入元素

  • 随机往位置5插入元素值90,插入该元素后,元素值6的后继元素由11变为90,元素值11的前驱元素变为90,效果如下图

    在这里插入图片描述


至此,单链表实现原理讲解完毕


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

时间复杂度

  • 线性表的存入和取出数据的时间复杂度为O(N)
  • 线性表的插入和删除数据的时间复杂度为O(1)

空间复杂度

  • 线性表的空间复杂度为O(1)

算法优缺点

  • 优点:

    • 可以快速添加和删除任意位置元素
    • 减少碎片空间出现,节约内存空间

  • 缺点:

    • 查找操作需要移动大量元素

效果展示

在这里插入图片描述

更多算法学习请关注我的公众号

在这里插入图片描述

说明

  • 在公众号中回复“算法源码”即可获取十大经典算法源码
  • 在公众号中回复“算法书籍”即可获取经典入门算法书籍
  • 在公众号中回复“数据结构”即可获取数据结构相关源码

以上是 可视化线性表之单链表 的全部内容, 来源链接: utcz.com/a/28473.html

回到顶部