- 动态数组
- 链表
- 队列/栈
- 树
- 集合
- 映射
- 哈希表
- 基础环境搭建
- 算法的基础概念
- 动态数组
- 单向链表
- 双向链表
- 单向循环链表(约瑟夫环问题)
- 双向循环链表
- 基于动态数组实现的栈
- 基于双向链表实现的栈
- 队列(一端)
- 双端队列
- 循环队列
二叉搜索树
AVL树
红黑树(与4阶B树性质相同)
基于ArrayList实现集合(ListSet)
基于tree实现集合(TreeSet)
基于tree实现映射(TreeMap)
基于LinkedList实现HashMap
基于LinkedList实现HashSet
二叉堆(BinaryHeap)
优先级队列(PriorityQueue)
字典树(Trie)
基于Quick Find实现的并查集
基于Quick Union实现的并查集
有向图,无向图(Graph)
跳表(SkipList)
布隆过滤器(BloomFilter)
冒泡排序
选择排序
堆排序(Heap)
插入排序(Insertion Sort)
归并排序(Merge Sort)
快速排序(Quick Sort)
希尔排序(Shell Sort)
计数排序(Count Sort)
基数排序(Radix Sort)
桶排序(Bucket Sort)
读懂题以后,如果思考10~15分钟没有思路,直接看答案 读懂答案,照抄一遍 然后默写一遍
每一道题的所有解法都看一遍(不要只看最优解) 建议观摩下leetcode.com的duscuss阅读量靠前的代码
建议观摩下leetcode-cn.com, leetcode.com 打败时间接近100%的提交代码
数组 排序,双指针,三指针,扫描方向(左->右,右->左)
链表 虚拟头节点,双指针,快慢指针,翻转,中间节点
排列组合 DFS
最值 贪心,排序,动态规划
对称\顺序 栈\队列
二叉树 递归,遍历
所有数据O(1)时间 哈希表