可视化线性表之单链表
前言
概念介绍
- 线性表的基本概念已经在上节可视化线性表之顺序存储过程中讲解,下面我们主要讲解线性表的链式存储原理。
原理讲解
我们以[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