Algorithm Graph Search (breadth first, depth first) depth first special important sequencing dynamic programming matching algorithm and network flow algorithm regular expression and string matching
Data structure diagram (tree is especially important) map stack/Queue Tries | Dictionary Tree
Additional recommended greedy algorithm approximate algorithm of probability method
above is the recommendation of Arjun Nayini, the following is Ken George's recommendation
Note: There is no specific priority in the following
Algorithm: three-way division-Quick Sort Merge sort (more extensibility, complexity similar to quick sort) DF/BF search (to know usage scenario) Prim/kruskal (minimum spanning tree) Dijkstra (Shortest path algorithm) selection algorithm
Data structure HashMap (really want to know all hash structures) graph and tree (red black tree Very studious) (Red-black trees is good to learn) heap (priority queue) stack/queue (must know the base content) Tries | Dictionary Tree
A * and genetic algorithms are also interesting.
You are welcome to add.
-------------------------------------
Bole Online Add some related articles: "Ten Algorithms of Ruling the world", "the ten algorithms of truly ruling the world", "visual intuitive experience 7 kinds of commonly used sorting algorithm" "Visual comparison of more than 10 kinds of sorting algorithm (C # Edition)"
-------------------------------------
Article Source: http://top.jobbole.com/14753/