Recurrence Relation
Greedy algorithms
Dynamic programming
Graph traversal
Backtracking
Branch and bound
Computational Analysis