|
7 | 7 | - Flow of the program
|
8 | 8 | - Time & Space Complexity
|
9 | 9 |
|
10 |
| -3. Basics of Java |
| 10 | +3. [Basics of Java](https://www.javatpoint.com/java-tutorial) |
11 | 11 | - Array
|
12 | 12 | - Introduction
|
13 | 13 | - Memory management
|
|
84 | 84 | - Subset Questions
|
85 | 85 |
|
86 | 86 | - Space and Time Complexity Analysis
|
| 87 | + - Introduction |
| 88 | + - Comparisons of various cases |
| 89 | + - Solving Linear Recurrence Relations |
| 90 | + - Solving Divide and Conquer Recurrence Relations |
| 91 | + - Big-O, Big-Omega, Big-Theta Notations |
| 92 | + - Get equation of any relation easily - best and easiest approach |
| 93 | + - Complexity discussion of all the problems we do |
| 94 | + - Space Complexity |
| 95 | + - Memory Allocation of various languages |
| 96 | + - NP-Completeness and Hardness |
| 97 | + |
| 98 | +- Object Oriented Programming |
| 99 | + - Introduction |
| 100 | + - Classes & its instances |
| 101 | + - this keyword in Java |
| 102 | + - Properties |
| 103 | + - Inheritance |
| 104 | + - Abstraction |
| 105 | + - Polymorphism |
| 106 | + - Encapsulation |
| 107 | + - Overloading & Overriding |
| 108 | + - Static & Non-Static |
| 109 | + - Access Control |
| 110 | + - Interfaces |
| 111 | + - Abstract Classes |
| 112 | + - Singleton Class |
| 113 | + - final, finalize, finally |
| 114 | + - Exception Handling |
| 115 | + |
| 116 | +- Stacks & Queues |
| 117 | + - Introduction |
| 118 | + - Interview problems |
| 119 | + - Push efficient |
| 120 | + - Pop efficient |
| 121 | + - Queue using Stack and Vice versa |
| 122 | + - Circular Queue |
| 123 | + |
| 124 | +- Linked List |
| 125 | + - Introduction |
| 126 | + - Fast and slow pointer |
| 127 | + - Cycle Detection |
| 128 | + - Single and Doubly LinkedList |
| 129 | + - Reversal of LinkedList |
| 130 | + |
| 131 | +- Dynamic Programming |
| 132 | + - Introduction |
| 133 | + - Recursion + Recursion DP + Iteration + Iteration Space Optimized |
| 134 | + - Complexity Analysis |
| 135 | + - 0/1 Knapsack |
| 136 | + - Subset Questions |
| 137 | + - Unbounded Knapsack |
| 138 | + - Subsequence questions |
| 139 | + - String DP |
87 | 140 |
|
88 |
| -Introduction |
89 |
| -Comparisons of various cases |
90 |
| -Solving Linear Recurrence Relations |
91 |
| -Solving Divide and Conquer Recurrence Relations |
92 |
| -Big-O, Big-Omega, Big-Theta Notations |
93 |
| -Get equation of any relation easily - best and easiest approach |
94 |
| -Complexity discussion of all the problems we do |
95 |
| -Space Complexity |
96 |
| -Memory Allocation of various languages |
97 |
| -NP-Completeness and Hardness |
98 |
| -Object Oriented Programming |
99 |
| - |
100 |
| -Introduction |
101 |
| -Classes & its instances |
102 |
| -this keyword in Java |
103 |
| -Properties |
104 |
| -Inheritance |
105 |
| -Abstraction |
106 |
| -Polymorphism |
107 |
| -Encapsulation |
108 |
| -Overloading & Overriding |
109 |
| -Static & Non-Static |
110 |
| -Access Control |
111 |
| -Interfaces |
112 |
| -Abstract Classes |
113 |
| -Singleton Class |
114 |
| -final, finalize, finally |
115 |
| -Exception Handling |
116 |
| -Stacks & Queues |
117 |
| - |
118 |
| -Introduction |
119 |
| -Interview problems |
120 |
| -Push efficient |
121 |
| -Pop efficient |
122 |
| -Queue using Stack and Vice versa |
123 |
| -Circular Queue |
124 |
| -Linked List |
125 |
| - |
126 |
| -Introduction |
127 |
| -Fast and slow pointer |
128 |
| -Cycle Detection |
129 |
| -Single and Doubly LinkedList |
130 |
| -Reversal of LinkedList |
131 |
| -Dynamic Programming |
132 |
| - |
133 |
| -Introduction |
134 |
| -Recursion + Recursion DP + Iteration + Iteration Space Optimized |
135 |
| -Complexity Analysis |
136 |
| -0/1 Knapsack |
137 |
| -Subset Questions |
138 |
| -Unbounded Knapsack |
139 |
| -Subsequence questions |
140 |
| -String DP |
141 |
| -Trees |
142 |
| - |
143 |
| -Introduction |
144 |
| -Binary Trees |
145 |
| -Binary Search Trees |
146 |
| -DFS |
147 |
| -BFS |
148 |
| -AVL Trees |
149 |
| -Segment Tree |
150 |
| -Fenwick Tree / Binary Indexed Tree |
151 |
| -Square Root Decomposition |
152 |
| - |
153 |
| -Heaps |
154 |
| - |
155 |
| -Introduction |
156 |
| -Theory |
157 |
| -Priority Queue |
158 |
| -Two Heaps Method |
159 |
| -k-way merge |
160 |
| -top k elements |
161 |
| -interval problems |
162 |
| -HashMap |
163 |
| - |
164 |
| -Introduction |
165 |
| -Theory - how it works |
166 |
| -Comparisons of various forms |
167 |
| -Limitations and how to solve |
168 |
| -Map using LinkedList |
169 |
| -Map using Hash |
170 |
| -Chaining |
171 |
| -Probing |
172 |
| -Huffman-Encoder |
173 |
| -Tries |
174 |
| - |
175 |
| -Graphs |
176 |
| - |
177 |
| -Introduction |
178 |
| -BFS |
179 |
| -DFS |
180 |
| -Working with graph components |
181 |
| -Minimum Spanning Trees |
182 |
| -Kruskal Algorithm |
183 |
| -Prims Algorithm |
184 |
| -Dijkstra’s shortest path algorithm |
185 |
| -Topological Sort |
186 |
| -Bellman ford |
187 |
| -A* pathfinding Algorithm |
| 141 | +- Trees |
| 142 | + - Introduction |
| 143 | + - Binary Trees |
| 144 | + - Binary Search Trees |
| 145 | + - DFS |
| 146 | + - BFS |
| 147 | + - AVL Trees |
| 148 | + - Segment Tree |
| 149 | + - Fenwick Tree / Binary Indexed Tree |
| 150 | + - Square Root Decomposition |
| 151 | + |
| 152 | +- Heaps |
| 153 | + - Introduction |
| 154 | + - Theory |
| 155 | + - Priority Queue |
| 156 | + - Two Heaps Method |
| 157 | + - k-way merge |
| 158 | + - top k elements |
| 159 | + - interval problems |
| 160 | + |
| 161 | +- HashMap |
| 162 | + - Introduction |
| 163 | + - Theory - how it works |
| 164 | + - Comparisons of various forms |
| 165 | + - Limitations and how to solve |
| 166 | + - Map using LinkedList |
| 167 | + - Map using Hash |
| 168 | + - Chaining |
| 169 | + - Probing |
| 170 | + - Huffman-Encoder |
| 171 | + - Tries |
| 172 | + |
| 173 | +- Graphs |
| 174 | + - Introduction |
| 175 | + - BFS |
| 176 | + - DFS |
| 177 | + - Working with graph components |
| 178 | + - Minimum Spanning Trees |
| 179 | + - Kruskal Algorithm |
| 180 | + - Prims Algorithm |
| 181 | + - Dijkstra’s shortest path algorithm |
| 182 | + - Topological Sort |
| 183 | + - Bellman ford |
| 184 | + - A* pathfinding Algorithm |
188 | 185 |
|
189 | 186 | ### What basic data structures and algorithms should one learn before starting competitive programming?
|
190 | 187 |
|
191 | 188 | 1. Basic data sturctures (arrays, queues, linked lists, etc.).
|
192 |
| -2. Bit manipulation. |
| 189 | +2. [Bit manipulation.](https://www.youtube.com/watch?v=5rtVTYAk9KQ&t) |
193 | 190 | 3. Advanced data structures:
|
194 | 191 | - Union-Find Disjoint Sets.
|
195 | 192 | - Segment Tree.
|
|
0 commit comments