These are 2 links for Algorithm 4th Edition, the English version, and the Chinese version.
EN -> https://www.tabtu.top/doc/Algorithms_4th_Edition_en.pdf
CH -> https://www.tabtu.top/doc/Algorithms_4th_Edition_ch.pdf
JAR package -> https://www.tabtu.top/doc/algs4.jar
Code -> https://algs4.cs.princeton.edu/code/
Data -> https://introcs.cs.princeton.edu/java/data/
Index:
- Fundamentals
- Basic Programming Model
- Data Abstraction
- Bags, Queues, and Stacks
- Analysis of Algorithms
- Case Study: Union-Find
- Sorting
- Elementary Sorts
- Mergesort
- Quicksort
- Priority Queues
- Applications
- Searching
- Symbol Tables
- Binary Search Trees
- Balanced Search Trees
- Hash Tables
- Applications
- Graphs
- Undirected Graphs
- Directed Graphs
- Minimum Spanning Trees
- Shortest Paths
- Strings
- String Sorts
- Tries
- Substring Search
- Regular Expressions
- Data Compression
Topics:
- Array, ArrayList, List. (have basic api in C# and JAVA)
- simple sort (insert, choose, shell)
- merge sort (postorder in BST)
- quick sort (recursive + random)
- 3 way quick sort (fix huge repeated elements)
- Stack(can be replaced by List), Queue.
- single stack
- multiple queue
- HashSet, Hashtable, Directionary.
- key – value
- Binary Tree, B Tree, Trees, Tries.
- BST
- AVL tree
- red-black tree
- traverse (pre, post, in, level<bfs>)
- tries
- Graph, Forest.
- DFS (paths)
- backtrack (for + recursive + choice/backtrack)
- optmize options on dfs
- BFS (shorest)
- level searching (queue + for)
- minimum spanning tree
- Topological sorting
- DP. (dynamic programming)
- definition + initializing + relationship
- regular expressions