Conquer Data Structures and Algorithms: A 90 day roadmap


 
Data structures and algorithms are one of the most fundamental aspect of computer science and engineering. Playing a key role in placement and various interview criteria, this makes it an all too necessary topic to have a good grasp upon. 

Here is the concise but not a strict 90 day plan to master (or be on the road to mastery) of data structures and algorithms.


An in depth preparation to cover most of DS Algo concepts while solving problems

Day 1 & 2 : Learn about space and time complexity. One of the most important part of programming is knowing the complexity of the code you writing.

Day 3 to 10 : Learn about recursion and backtracking. One of the most important and most useful Concepts.

Day 11 to 30 : Learn about the basic data structures ->

(i) Arrays
(ii)Linked List
(iii) Stacks and Queues

Start giving contests and learn the new concepts that come along the way. You might not do well in the first few but it’s okay! Just keep learning and keep growing.

Day 31 to 45 : Learn about more and a little more complex data structures and algorithms ->

(i) Searching

(ii) Sorting {

             \1\ Bubble Sort
             \2\ Insertion Sort
             \3\ Selection Sort
             \4\ Merge Sort
             \5\ Quick Sort

(iii) Hashmaps

(iv)Trees

(v)Heaps

(Vi)Sliding Window

Day 46 to 70 : Learn about DP and Graphs ->

(i) Graph ->

             \1\ Breadth First Search [BFS]  
             \2\ Depth First Search [DFS]
             \3\ Shortest path from source to all vertices: Dijkstra
             \4\  Shortest path from every vertex to every other vertex: Floyd Warshall
             \5\  Minimum Spanning tree: Prim \6\  Minimum Spanning Tree: Kruskal  
             \7\  Strongly connected component kosaraju’s algorithm
             \8\ Topological Sort  
             \9\ Shortest Path from source to all vertices with negative edges: Bellman ford   
             \10\ Normal DSU   
             \11\ DSU by rank

(ii) Dynamic Programming

Day 71 to 80 : Learn about OOPs

Day 80 to 90 : Some more topics which will help you perform better in online tests

(i) Number Theory

(ii) Bit Manipulation

(iii) Tries

Popular Posts