# 链表
链表是前端开发者很难接触到(用到)的数据结构,因为未知,导致我们对这一块知识存在抵触的情绪,这样的恶性循环很难打破,今天我们顶住对它的“恐惧”,一起揭开它神奇的面纱,加油!
# 一、链表简介
与数组相似,链表也是一种线性数据结构。这里有一个例子:
本质上是一个一个节点,通过next指针链接下一个节点,
正如你所看到的,链表中的每个元素实际上是一个单独的对象,而所有对象都通过每个元素中的引用字段链接在一起。
单链表
双链表
# 1.1 操作
查找:O(n)
插入:O(1)
删除:O(1)
# 二、单链表
# 三、双指针技巧
# 四、双链表
#
链表有两种类型:单链表和双链表。上面给出的例子是一个单链表,这里有一个双链表的例子:
我们将在接下来的章节中介绍更多内容。完成后,你将:
了解单链表和双链表的结构; 在单链表或双链表中实现遍历、插入和删除; 分析在单链表或双链表中的各种操作的复杂度; 在链表中使用双指针技巧(快指针慢指针技巧); 解决一些经典问题,例如反转链表; 分析你设计的算法的复杂度; 积累设计和调试的经验。