Python 数据结构和算法 05| 如何理解基础的数据结构——链表

通过上一篇相信你已经对数组有所了解,至少你知道这么两点:

数组分配的内存的连续的

数组查询效率高,但是增删操作效率比较低

什么是链表

与数组相反,链表是这样的:

查询效率慢,但是增删效率比较高

当你知道了链表是个啥玩意之后,你就能明白为什么这么说。

我们说,数组申请到的内存是连续的,而链表就不用这么麻烦,因为它有 “链” 的存在,通过这条 “链” 可以把多个内存连在一起。

画个图给你细细品:

看,这就是链表,它和数组不同在于,

本文隐藏内容 登陆 后才可以浏览
有时候你可能需要判断链表的是否为空,也就是里面没有存储数据,那么这个时候你只需要判断 head 结点是否为 Null 就可以了,这种情况的时间复杂度就是 O(1) 了。

以上是单链表的特点,链表结构还有双向链表,循环链表等,不过现在的你只需要理解链表的这种结构,是什么以及为什么即可,往后我还会用代码给你演示。

发表回复