Skip to content

how to structure topics

Reyad Salahin edited this page Oct 8, 2019 · 1 revision

Contents

The contents for a beginner should be like following

  1. Preface
  2. Prerequisites
  3. Complexity
  4. Problem Solving Techniques: Brief intro and Explanation
  5. Ad-hoc method
  6. Brute Force (I): Basic intro with brute force techniques
  7. Divide & Conquer (I) : Basic intro with divide and conquer techniques
  8. Searching: Basic searching techniques(linear, binary, ternary)
  9. Sorting: Basic sorting techniques(bubble, insertion, selection, quick, merge)
  10. Data Structures (I): Basic data structures with tree and graph intro
  11. Dynamic programming (I): intro with classical dp
  12. Greedy (I): intro with greedy concept
  13. Math (I): Basic math problems
  14. Geometry (I): Basic geometry problems
  15. String (I): Basic string manipulation in c/c++/java/python
  16. Brute Force (II): We'll talk about backtracking with pruning and etc.
  17. Divide and Conquer (II): We'll discuss segment tree and other things
  18. ...(continued)

We would try complete these parts as soon as possible. Then we would try to cover the second part(medium level) of each topic and then the third(maximum difficulty level) part of each topic.

Why we are trying to arrange these topics in such a way?

The reason we are trying to cover these topic, is to build a basic for a beginner as soon as possible. But anyone, who is already experienced with problem solving, he/she can try out in any order he/she wants.