刷题顺序

  • 基础篇
    • 数组,队列,栈
    • 链表
    • 树与递归
    • 哈希表
    • 双指针
  • 思想篇
    • 二分
    • 滑动窗口
    • 搜索(BFS,DFS,回溯)
    • 动态规划
  • 提高
    • 贪心
    • 分治
    • 位运算
    • KMP & RK
    • 并查集
    • 前缀树
    • 线段树

队列

  1. tail不直接记录队尾,却要记录队尾的下一个位置,是为了队列中只剩下一个元素时,队首和队尾重合时会带来一些麻烦。队首和队尾重合时,队列为空
  2. 队列规定的是先进先出
  3. 队列实质
    • 数组和具有指针性质的变量封装成了一个结构体

链表

  1. 链表是变量和指针封装成了一个结点结构体
  2. 循环打印输出时,判断是否到最后一个结点的条件是用来后移的指针是否为NULL