二进制
  1. +-%&移位
  2. 浮点数
  3. 异或
缓存行与局部性原理
  1. 遍历二维数组(外j内i)
  2. 遍历二维数组(外i内j)
数据结构
  1. 动态数组
  2. 单向链表
  3. 单向链表(带哨兵)
  4. 双向链表(带哨兵)
  5. 优先级队列(无序数组)
  6. 优先级队列(有序数组)
  7. 优先级队列(堆)
  8. 大顶堆
  9. 小顶堆
  10. 295-求数据流中位数
  11. 哈希表
递归
  1. 斐波那契数列
  2. 合并k个有序链表
双指针
  1. 龟兔赛跑算法
  2. 11-盛水最多容器
  3. 167-两数之和
  4. 15-三数之和
  5. 18-四数之和
  6. 283-移动零
二分查找
  1. 二分查找-基础版
  2. 二分查找-基础版(有问题)
  3. 二分查找-改动版
  4. 二分查找-改动版(有问题)
  5. 二分查找-平衡版
  6. 二分查找-Leftmost 返回 -1
  7. 二分查找-Rightmost 返回 -1
  8. 二分查找-Leftmost 返回 i
  9. 二分查找-Rightmost 返回 i-1
二叉树
  1. 二叉树遍历
  2. 二叉树遍历(非递归)
  3. 二叉树搜索树
  4. AVL树
  5. 红黑树
  6. B-树(t=2)
  7. B-树(t=3)
  8. 101-对称二叉树
  9. 226-翻转二叉树
  10. 98-判断合法二叉搜索树
  11. 1008-前序遍历构造二叉搜索树
排序
  1. 冒泡
  2. 冒泡(改进1)
  3. 冒泡(改进2)
  4. 选择
  5. 插入
  6. 插入(交换法)
  7. 希尔
  8. 归并
  9. 快速(单边)
  10. 快速(双边)
  11. 快速(处理重复)
  1. dijkstra
  2. dijkstra 负边
  3. floyd
  4. floyd 负环
  5. prim
贪心
  1. huffman 树
回溯
  1. 46-全排列
  2. 47-全排列II
  3. 77-组合
  4. 39-组合总和
  5. 51-N皇后
  6. 37-数独
单调队列与单调栈
  1. 239-最大滑动窗口
  2. 42-接雨水
字符串
  1. 28-字符串匹配(暴力)
  2. 28-字符串匹配(KMP)
  3. 28-字符串匹配(KMP 生成最长前后缀数组)
  4. 14-最长公共前缀
  5. 5-最长回文子串
  6. 76-最小覆盖子串
设计
  1. 146-LRU缓存
  2. 460-LFU缓存
  3. 1206-跳表
  4. 155-最小栈
  5. 155-最小栈(解法2)
  6. 355-设计推特
股票问题
  1. 买卖股票最佳方案 I - 121
  2. 买卖股票最佳方案 II - 122
  3. 买卖股票最佳方案 III - 123
  4. 买卖股票最佳方案 IV - 188
  5. 买卖股票最佳方案-带手续费 - 714
  6. 买卖股票最佳方案-带冷冻期 - 309