- 数据结构
- 时间复杂度
- 算法
- 脑图
- 化繁为简
- 面试技巧
- 经典习题
- 几点感想
- 一维
- 基础
- 数组 array (string), 链表 linked list
- 高级
- 栈 stack, 队列 queue, 双端队列 deque, 集合 set, 映射 map (hash or map)
- 基础
- 二维
- 基础
- 树 tree, 图 graph
- 高级
- 二叉搜索树 binary search tree (red-black tree, AVL), 堆 heap, 并查集 disjoint set, 字典树 Trie
- 基础
- 特殊
- 位运算 Bitwise, 布隆过滤器 BloomFilter
- LRU Cache
- If-else, switch —> branch
- for, while loop —> Iteration
- 递归 Recursion (Divide & Conquer, Backtrace)
- 搜索 Search: 深度优先搜索 Depth first search, 广度优先搜索 Breadth first search, A*, etc
- 动态规划 Dynamic Programming
- 二分查找 Binary Search
- 贪心 Greedy
- 数学 Math , 几何 Geometry
- 人肉递归低效、很累
- 找到最近最简方法,将其拆解成可重复解决的问题
- 数学归纳法思维
- Clarification:明确题⽬意思、边界、数据规模
- Possible solutions:穷尽所有可能的解法
- compare time/space
- optimal solution
- Coding:代码简洁、⾼性能、美感
- Test cas
- 爬楼梯、硬币兑换
- 括号匹配、括号⽣、成直⽅图最⼤⾯积、滑动窗⼝
- ⼆叉树遍历、分层输出树、判断⼆叉排序树
- 股票买卖、偷房⼦、字符串编辑距离、最⻓上升⼦序列、最⻓公共⼦序列
- 异位词(判断和归类)、回⽂串(最⼤回⽂串)、regex和通配符匹配
- ⾼级数据结构(Trie、BloomFilter、LRU cache、etc)
- 路漫漫其修远兮,吾将上下而求索
- 师父领进门,修行在个人
- 人类的本质是重复性,要想达到某个行业的翘楚,十年如一日的枯燥乏味坚持才是王道