> Data Structures and Algorithms (DSA) Roadmap

Data Structures and Algorithms (DSA) Roadmap

Data Structures and Algorithms (DSA) Roadmap to learn data structures and algorithms for job interview questions and to provide efficient solution to complex problems.

The best way to learn data structures and algorithms will be learn the concepts, implement it, solve the problems using concepts and then write the program in programming language you love most. Here are the steps-
-Have a good programming skills
-Learn the data structures and algorithms concepts
-Implement it
-Solve the variety of problems using the concepts you learned and program it.

This is the Data Structures and Algorithms (DSA) Roadmap-

Programming language

Any programming language C/C++/C#/Java/Python etc. You should have good understanding of its libraries which will help you in programming of solved problems.

[ C in Depth | Ultimate Python Programming]

Introduction to Data Structures and Algorithms [Learn here]

  • Data Structures
  • Algorithms
  • Algorithms analysis
  • Examples

Arrays

  • One dimensional arrays
  • Two dimensional array
  • Array operations
    • Traversal
    • Insertion
    • Deletion
  • Matrices
  • Problems

Strings

Linked List

  • Single Linked List
    • Traversal
    • Insertion
    • Deletion
  • Doubly linked list
  • Circular linked list
  • Sorted linked list
  • Reverse
  • Sorting
  • Merging
  • Concatenation
  • Polynomial linked list
    • Creation
    • Addition
    • Multiplication
  • Implementation [ C | C++ | C# | Java | Python ]
  • Problems

Stacks and Queues

  • Stack
    • Array implementation
    • Linked List implementation
  • Queue
    • Array implementation
    • Linked List implementation
  • Circular queue
  • Deque
  • Priority queue
  • Polish notation
    • Infix expression to Postfix expression
    • Evaluation of Postfix expression
  • Implementation [ C | C++ | C# | Java | Python ]
  • Problems

Recursion

Trees

  • Terminology
  • Binary Tree
  • Binary Tree representation
    • Array representation
    • Linked representation
  • Binary Tree traversal
    • Recursive traversal
      • Preorder
      • Inorder
      • Postorder
    • Non recursive traversal
      • Preorder
      • Inorder
      • Postorder
    • Level order traversal
  • Creation of binary tree from inorder and preorder traversal
  • Creation of binary tree from inorder and postorder traversal
  • Binary Search Tree (BST)
    • Traversal
    • Search
    • Insertion
    • Deletion
  • Heap
    • Insertion
    • Deletion
    • Building a heap
  • B Tree
  • Trie
    • Insertion
    • Search
    • Deletion
    • Startswith
  • Implementation [ C | C++ | C# | Java | Python ]
  • Problems

Graphs

  • Undirected graph
  • Directed graph
  • Terminology
  • Connectivity in undirected graph
  • Connectivity in directed graph
  • Representation of a graph
    • Adjacency matrix
    • Adjacency list
  • Path matrix
  • Warshall's Algorithm
  • Traversal
    • Breadth First Search (BFS)
    • Depth First Search (DFS)
  • Classification of edges in DFS
  • Strongly connected graph and strongly connected components
  • Shortest Path Problem
    • Dijkstra's Algorithm
    • Bellman Ford Algorithm
    • Modifiled Warshall's Algorithm (Floyd's Algorithm)
  • Minimum spanning tree
    • Prim's Algorithm
    • Kruskal's Algorithm
  • Topological Sorting
  • Implementation [ C | C++ | C# | Java | Python ]
  • Problems

Sorting

  • Selection sort
  • Bubble sort
  • Insertion sort
  • Merge sort
  • Quick sort
  • Analysis of sorting
  • Implementation [ C | C++ | C# | Java | Python ]
  • Problems

Searching

Hashing

Greedy algorithms

  • Problems

Backtracking

Dynamic programming

Bit Manipulation

Data Structures and Algorithms (DSA) Online Courses

Data Structures and Algorithms in C/C++/C#/Java/Python (DSA) online courses.

Your Instructor


Deepali Srivastava has a Master's degree in Mathematics and is the author of "Ultimate Python Programming" and popular books "C in Depth" and "Data Structures Through C in Depth" helped 350,000+ students. She loves programming, DSA and is passionate about teaching. More than 20,000+ students have enrolled in her Data Structures and Algorithms (DSA) online courses. Whether writing a book or making a course, she always tries to present the concepts in a simplified way which helps students develop interest in the topic being taught.