-
Course Info.
-
Basic Data Structures.
-
Array, vector, and linked list [slides] [video (English)].
-
Binary search [slides] [video (English)].
-
Skip list [slides] [video (English)].
-
-
Sorting.
-
Divide and Conquer.
- Master theorem [slides].
-
Matrix Data Structure and Algorithms.
-
Addition and multiplication [slides] [video (English)] [video (Chinese)].
-
Dense and sparse matrix data structures [slides] [video (English)] [video (Chinese)].
-
Fast matrix multiplication and Strassen algorithm [slides].
-
-
Binary Trees.
-
Priority Queues.
-
Disjoint Sets.
- Disjoint sets [slides].
-
Graph Basics.
-
Shortest Paths.
-
Minimum Spanning Trees.
-
Network Flow Problems.
-
Bipartite Graphs.
-
Dynamic Programming.
-
Strings.
-
Randomized Algorithms.
-
Monte Carlo algorithms [slides] [video (English)] [video (Chinese)].
-
Concentration inequalities [slides].
-
Pseudo random number generators.
-
Random shuffling [slides].
-
Fingerprinting.
-
-
Hashing.
-
Cryptographic Algorithms.
-
Crypto Currency.