Chapter 2
Algorithm

 2.1 Math and geometry basic
  2.1.1 geometry
  2.1.2 Permutation and combination
  2.1.3 solution space
  2.1.4 Usage of model %
 2.2 Recursive
 2.3 Sort
  2.3.1 Simple sort
  2.3.2 quick sort
  2.3.3 Bucket and radix sort
 2.4 Greedy
  2.4.1 application
 2.5 Divide Conquer
 2.6 Dynamic programming
 2.7 backtracing and branch and bound