8.1 Manufacturing problem 8.2 Matrix-chain multiplication 8.3 Elements of dynamic programming 8.4 Four steps of development 8.5 Longest common subsequence problem
5.1 Dictionary problem 5.2 Hash functions 5.3 Collisions resolution by chaining 5.4 Open addressing 5.5 Probing strategies: linear, quadratic, and double hashing 5.6 Analysis of open addressing
1.1 Definition of algorithm 1.2 Insertion sort and merge sort 1.3 Running time and asymptotic analysis 1.4 Θ-notation, Ω-notation, and O-notation 1.5 Recurrences 1.6 Substitution, recursion-tree method, and master method