线程池和任务队列(第二周)

队列的基础知识

  • 队列是连续的存储区, 可以存储一系列的元素。是 FIFO,先进先出(First-In-First-Out)的结构
  • 队列通常具有 头尾指针(左闭右开区间),头指针指向第一个元素,尾指针指向最后一个元素的下一位
  • 队列支持(从队尾)入队(enqueue)、(从队首)出队(dequeue)
  • 循环队列可以通过取模更充分的利用空间

队列的典型应用场景

  • CPU 的超线程技术
  • 线程池的任务队列

经典面试题

  • LeetCode #621 任务调度器
  • LeetCode #622 设计循环队列
  • LeetCode #641 设计循环双端队列
  • LeetCode #1670 设计前中后队列
  • LeetCode #933 最近的请求次数
  • LeetCode #面试题 1709 第 K 个数
  • LeetCode #859 亲密字符串
  • LeetCode #860 柠檬水找零
  • LeetCode #969 煎饼排序
  • LeetCode #86 分隔链表
  • LeetCode #138 带随机指针的链表