NP completeness; search techniques; graph and tree algorithms; asymptotic analysis of complexity bounds; randomized algorithms; heuristic and approximation algorithms; brute-force, greedy, divide-and-conquer, backtracking, branch-and-bound, pattern matchi