Algorithm
- Figure Search (breadth first, depth first) depth first is especially important
- Sort
- Dynamic planning
- Matching algorithm and network flow algorithm
- Regular expressions and string matching
Data
- Figure (tree is particularly important)
- Map
- Heap
- Stack/queue
- Tries | Dictionary Tree
Additional recommendations
- Greedy algorithm
- Probability method
- Approximate algorithm
Algorithm:
- Three-way division-Quick Sort
- Merge sort (more extensibility, similar to quick sorting of complexity)
- DF/BF Search (to know the usage scenario)
- Prim/kruskal (minimum spanning tree)
- Dijkstra (Shortest path algorithm)
- Selection algorithm
Data
- HashMap (Really want to know all the hash structures)
- Figure and tree (red and black trees are very studious) (Red-black trees is good to learn)
- Heap (priority queue)
- Stack/queue (basic content that must be known)
- Tries | Dictionary Tree
What are the 10 algorithms and data structures that programmers must know?