Logic & Proof
Counting & Combinatorics
Arithmetics & Number Theory
Complexity, Asymptotic Analysis, Computability (P/NP)
Discrete Structures (Functions, Relation, Sets), Discrete Probability
Automata Grammar, Cryptography
Array, Stacks and Queues, Priority Queue
Linked Lists (Linear, Circular, Doubly-Linked, Run-Time Analysis vs Array),
Trees (Binary Tree, Binary Search Tree, Traversals, Disjoint Set)
Trie, Heap & Binomial Fibonacci Heaps
Hash table
String
Array & Linked List Manipulation
Sorting & Searching
Selection, Insertion, Mergesort, Quicksort, Binary Tree Sort, Heapsort, Sequential Search, Binary Search, Hash Coding, Radix Sort
Recursion
Strategies
Greedy, Divide Conquer, Backtracking, Dynamic Programming, Heuristics, Approximation, Randomized Algorithms, Clustering, Numerical Methods
String
Knuth-Morris-Pratt, Rabin Karp, Hashing, Suffix Tree, Arrays Automata, Aho Corasick
Trees
Tree Traversals (In-order, Pre-order, Post-order), Depth First Search, Breadth First Search, Closures Union Find, Recursive Tree Algorithm, Binary Expression Trees
Graphs
Depth First Search, Breadth First Search, Topological Sort, Minimum Spanning Trees (Kruskal, Prim)
Single Source Shortest Path (Bellman-Ford, Dijkstra), All Pairs Shortest Path (Matrix Multiplication, Floyd-Warshall, Johnson) , Bipartite Matching (Stable Marriage, Hungarian Algorithm), Biconnectivity Undirected Graph, Connectivity Directed Graph, Combinatorial Game Theory, Max Flow (Ford-Fulkerson, Max Bipartite Matching), Flow/Cut Duality
Computational Geometry
Representation, Collinear/Parallel/Orthogonal/Clockwise, Intersection, Area of Polygon, Polygon containing Points, Compression, Convex Hull, Sweeping Line, Point Line Duality, Halfspace Intersection, Voronoi Diagrams, DeLaunay Triangulations, Circle Intersection against Lines/Circles
Number Theoretic Algorithms
GCD, Modular, Chinese Remainder, RSA, Radix Conv, Euclid, Primality Test, Sieve of Eratosthenes, Factorization, Efficient Exponentiation, Other Math & Arithmetic Operations
Selected Topics
Linear Programming, Distributed Algorithms, Matrix, FFT
Data Representations & Bit Operations
Machine Level Code & Assembly
Code Optimization
Memory
Linking
Control Flow
I/O
Network
Concurrency