Mostly inspired by Introduction to Algorithms by Cormen, Leiserson,
Rivest (1st Ed.)
Download these into a C++ compiler such as DevC++ or GNU.
Conduct experiments of the standard sorting algorithms: selection,
insertion, bubble, quicksort, mergesort, heapsort, counting sort,
radix sort, qsort and STL sort. Chapters 1, 7, 8 and 9. Particular
emphasis on quicksort to beat STL sort.
Order statistic in O(n) using partition. Chapter 10
Weighted median. page 194
Demo that seqeuential search of random array will find a new max(min)
about ln N times.
Dynamic programming. Chap. 16
Matrix chain multiplication
Dynamic programming method to find optimal matrix chain
multiplication order. Also, Catalan numbers and all parenthesizations.
Matrix chain CLR 16.1
Longest common subsequence
LCS Also, all subsequences. CLR 16.3
Longest common substring Also, all substrings.
Greedy algorithms. Chap. 17
Maximal set of non-overlapping intervals.
Activity selection CLR 17.1
Josephus permutations or generalized eeny-meeny-miny-moe CLR p.296
Other programs are in CMIS
Combinatorics, boolean logic, finite state automata, graph theory, recursion.