1. Analysis of Algorithm
  2. Advanced Data Structures
  3. Divide and Conquer
  4. Greedy Algorithms
  5. Dynamic Algorithms and NP-Hard and NP-Complete
  6. String Matching