刷题顺序
- 基础篇
- 数组,队列,栈
- 链表
- 树与递归
- 哈希表
- 双指针
- 思想篇
- 二分
- 滑动窗口
- 搜索(BFS,DFS,回溯)
- 动态规划
- 提高
- 贪心
- 分治
- 位运算
- KMP & RK
- 并查集
- 前缀树
- 线段树
- 堆
队列
- tail不直接记录队尾,却要记录队尾的下一个位置,是为了队列中只剩下一个元素时,队首和队尾重合时会带来一些麻烦。队首和队尾重合时,队列为空
- 队列规定的是先进先出
- 队列实质
- 数组和具有指针性质的变量封装成了一个结构体
链表
- 链表是变量和指针封装成了一个结点结构体
- 循环打印输出时,判断是否到最后一个结点的条件是用来后移的指针是否为NULL