专题1--链表
链表
链表与数组是两个十分重要的数据结构,是构成线性表的重要组成部分。
链表通常占用的是非连续的地址空间,查找时间O(N),删除和插入时间O(1)。
链表主要有单链表、双向链表、循环单链表、循环双向链表等,在计算机领域应用十分广泛,比如用链表实现的队列应用于进程管理,Hash表的链式存储法等等。
关于链表的题目一般有如下思路:
- 加个哑节点(dummy node),能避免很多问题;
- 快慢指针法;
- ......
- 链表的题关键是理清各个指针的脉络,无非就是插入、删除、查找。
常见的题有:
- 单链表的逆置;
- 单链表有无环、找环起点;
- ......