What I learned from the book , class or otherplace and add some additional rules or function to the origin problems
1.maximum subarrray: Using Divide and Conquer to solve Maximum subarray problem
*with the rule that only one negative integar can be put in the subarray
2.flattest_lowest_hillclimbing: Using Dynamic Progamming to solve Hill climbing problem
*find the lowest cost path
3.sudoku: Using Backtracking(DFS) to solve Sudoku problem
*the data is read by a line of string, 0 means empty
4.n-queen: Using Backtracking(DFS) to solve n-queen problem
*the first queen's position is randomly decided
5.generic two way merge: use same code to do the computation