/90DaysDSA-1

Nishant bhaiya's 90DaysDSA challenge.

Primary LanguageC++

90 Days of DSA Roadmap Build Status

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

Some important Suggestion from Nishant Chahar > From Now, 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) Graphics ->

                 \1\ Breadth First Search [BFS]  
                 \2\ Bepth 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 (You’ll get something amazing on this by the time you reach here)

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

  • (i) Number Theory

  • (ii) Bit Manipulation

  • (iii) Tries