Table of content:
- Advanced C++
- Advanced Python
- Time and space complexity
- Sorting algorithm:
- Bubble
- Selection
- Insertion
- Merge
- Quick
- Searching:
- Linear
- Binary Search
- Recursion for classic problem
- Array and String
- Stack and Queue
- Linked List
- Trees (Binary Tree, BST)
- Graphs
- Union-Find (Disjoint Set)
- Heap / Priority Queue
- Segment Tree / Binary Indexed Tree (Fenwick Tree)
- BFS and DFS
- Backtracking (e.g. N-Queens, Sudoku Solver)
- Dynamic Programming
- Sliding Windows & Two Pointer
- Greedy Algorithm
- Bit Manipulation
- Graph Algorithm:
- Dijkstra
- Bellman-Ford
- Floyd-Warshall
- Minimum Spanning Tree
- Kruskal
- Prim
- CodeForces - primary website for our problem sets
- Quera
- CodeWars
- NeetCode
| Week | Tasks | Ali | Negar | Sina | Avesta | Amir |
|---|---|---|---|---|---|---|
| 1 | Personal review and solve the 20 first questions of codeforces | ✅ | ✅ | ✅ | ❌ | ❌ |
| 2 | Time and space complexity, bubble and selection sort, CPP compiler + 10 related problem | ✅ | ✅ | ✅ | ❌ | ❌ |
| 3 | Merge and insertion sort, binary search, stack and queue, greedy algorithm + 10 related problem (upper than 1000) | ✅ | ❌ | ❌ | ❌ | ❌ |
| 4 | Greedy(continu), dynamic programming, trees + 4~6 problem(upper 1200) | ❌ | ❌ | ❌ | ❌ | ❌ |
| 5 | Freestyle | - | - | - | - | - |