The well known algorithm books are
- TAOCP: The art of computer programming
- https://en.wikipedia.org/wiki/The_Art_of_Computer_Programmin
- The algorithm design manual, 2nd
- http://www.algorist.com/
- Introduction to algorithms, 3rd
- https://mitpress.mit.edu/index.php?q=books/introduction-algorithms
- Algorithm, 4th
- http://algs4.cs.princeton.edu/home/
- http://www.amazon.com/Programming-Pearls-2nd-Edition-Bentley/dp/0201657880
- http://www.cs.usfca.edu/~galles/visualization/Algorithms.html
- Data structure based
- Algorithm based
- Modeling: the art of abstracting a real-world application into a clean probelm suitable for algorithmic attack
Data Structure
- Linked
- String, Array, http://beyondcoder.blogspot.com/2015/12/data-structure-string-array.html
- Linked List, http://beyondcoder.blogspot.com/2015/12/data-structure-linked-list.html
- Stack and Queue,
- Map, HashMap, TreeMap, http://beyondcoder.blogspot.com/2015/12/data-structure-hashmap.html
- Set
- Binary Tree, http://beyondcoder.blogspot.com/2015/12/algorithm-binary-tree.html
- Binary Search Tree, http://beyondcoder.blogspot.com/2015/12/algorithm-binary-search-tree.html
- Trie, https://www.blogger.com/blogger.g?blogID=2861811477507969695#allposts
- Priority queue, Heap
- Graph: undirected, directed, acyclic, http://beyondcoder.blogspot.com/2015/12/data-structure-5-graph.html
- Specialized data structure: like bloom filter
- Divide-and-conquer
- Dynamic Programming, http://beyondcoder.blogspot.com/2015/12/algorithm-dynamic-programming.html
- Backtracking, http://beyondcoder.blogspot.com/2015/12/algorithm-backtracking.html
- Greedy Algorithm, http://beyondcoder.blogspot.com/2015/12/algorithm-greedy.html
- Randomized Algorithm