DEV Community

loading...
Cover image for Roadmap To Learn Data Structures and Algorithms

Roadmap To Learn Data Structures and Algorithms

Rishi Verma
Creative web designer and developer
・3 min read

Credit

1. Arrays

-Bare Minimum

a. https://www.geeksforgeeks.org/top-50-array-coding-problems-for-interviews/

-Bonus

a. https://www.interviewbit.com/courses/programming/topics/arrays/
b. https://leetcode.com/tag/array/

2. Strings

-Bare Minimum

a. https://www.interviewbit.com/courses/programming/topics/strings/

-Bonus

a. https://leetcode.com/tag/string/
b. https://www.hackerrank.com/domains/algorithms?filters%5Bstatus%5D%5B%5D=unsolved\u0026filters%5Bsubdomains%5D%5B%5D=strings\u0026badge_type=problem-solving

3. Linked Lists

-Bare Minimum

a. https://www.interviewbit.com/courses/programming/topics/linked-lists/

-Bonus

a. https://leetcode.com/tag/linked-list/
b. https://www.geeksforgeeks.org/top-20-linked-list-interview-question/

4. Stacks and Queues

-Theory:

a. https://www.geeksforgeeks.org/stack-data-structure-introduction-program/
b. https://www.geeksforgeeks.org/queue-set-1introduction-and-array-implementation/

-Bare Minimum

a. https://www.interviewbit.com/courses/programming/topics/stacks-and-queues/

-Bonus

a. https://leetcode.com/tag/stack/
b. https://leetcode.com/tag/queue/
c. https://www.geeksforgeeks.org/queue-data-structure/
d. https://www.geeksforgeeks.org/stack-data-structure0

5. Tree-based data structures:

-Theory:

a. https://www.geeksforgeeks.org/binary-tree-data-structure/
b. https://www.geeksforgeeks.org/binary-search-tree-data-structure/
c. https://www.geeksforgeeks.org/trie-insert-and-search/
d. https://www.geeksforgeeks.org/heap-data-structure/
e. https://www.geeksforgeeks.org/hashing-data-structure/

-Bare minimum:

a. https://www.interviewbit.com/courses/programming/topics/tree-data-structure/
b. https://www.interviewbit.com/courses/programming/topics/heaps-and-maps/
c. https://www.interviewbit.com/courses/programming/topics/hashing/

-Bonus

a. https://leetcode.com/tag/tree/
b. https://leetcode.com/tag/heap/
c. https://leetcode.com/tag/trie/
d. https://leetcode.com/tag/hash-table/

6. Graphs:

-Theory:

a. https://www.geeksforgeeks.org/graph-and-its-representations/

-Standard Algos:

a. BFS - https://www.geeksforgeeks.org/breadth-first-search-or-bfs-for-a-graph/
b. DFS - https://www.geeksforgeeks.org/depth-first-search-or-dfs-for-a-graph/
c. Dijkstra - https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-greedy-algo-7/
d. Prim's - https://www.geeksforgeeks.org/prims-minimum-spanning-tree-mst-greedy-algo-5/
e. Kruskal - https://www.geeksforgeeks.org/kruskals-minimum-spanning-tree-algorithm-greedy-algo-2/
f. Floyd-Warshall - https://www.geeksforgeeks.org/floyd-warshall-algorithm-dp-16/
g. Union Find - https://www.geeksforgeeks.org/union-find-algorithm-union-rank-find-optimized-path-compression/

-Bare Minimum:

a. https://leetcode.com/tag/graph/ (Easy and Medium)

-Bonus:

a. https://www.interviewbit.com/courses/programming/topics/graph-data-structure-algorithms/

7. Dynamic Programming:

-Video lectures:

a. Lec 1 - https://www.youtube.com/watch?v=OQ5jsbhAv_M\u0026list=PLcDimPvbmfT8qAxD6JH_kmXiQwTNcoK78
b. Lec 2 - https://www.youtube.com/watch?v=ENyox7kNKeY\u0026list=PLcDimPvbmfT8qAxD6JH_kmXiQwTNcoK78\u0026index=2
c. Lec 3 - https://www.youtube.com/watch?v=ocZMDMZwhCY\u0026list=PLcDimPvbmfT8qAxD6JH_kmXiQwTNcoK78\u0026index=3

-Bare minimum (Standard problems):

a. https://www.geeksforgeeks.org/program-for-nth-fibonacci-number/
b. https://www.geeksforgeeks.org/0-1-knapsack-problem-dp-10/
c. https://www.geeksforgeeks.org/coin-change-dp-7/
d. https://www.geeksforgeeks.org/compute-ncr-p-set-1-introduction-and-dynamic-programming-solution/
e. https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/
f. https://www.geeksforgeeks.org/longest-common-subsequence-dp-4/
g. https://www.geeksforgeeks.org/longest-common-substring-dp-29/

-Bonus:

a. https://www.interviewbit.com/courses/programming/topics/dynamic-programming/
b. https://leetcode.com/tag/dynamic-programming

Discussion (0)