/dsa

Implementation of Data Structures and Algorithms

Primary LanguageJava

Data Structures And Algorithms

Implementation of the popular Data Structures and Algorithms

Graph

  1. Undirected Graph (Adjacency Matrix)
  2. Undirected Graph (Adjacency List)
  3. Directed Graph (Adjacency List)
  4. BFS Traversal
  5. DFS Recursive Traversal
  6. DFS Iterative Traversal
  7. Check for cycle in Undirected Graph
  8. Shortest Distance from a source in a unweighted Undirected Graph
  9. Check for cycle in Directed Graph
  10. Topological Sort (BFS Kahn's Algorithm)
  11. Check for cycle in Directed Graph (BFS Kahn's Algorithm)
  12. Topological Sort (DFS)
  13. Directed Weighted Graph(Adjacency List)
  14. Shortest Path in Directed Acyclic Graph (DAG)
  15. Undirected Weighted Graph
  16. Dijkstra's Shortest Path
  17. Prim's Minimum Spanning Tree
  18. Kosaraju's Strongly Connected Component
  19. Bellman Ford Shortest Path
  20. Kruskal's Minimum Spanning Tree

Trie

  1. Trie - Insert, Search, Prefix Search, Delete

Disjoint Set

  1. Union By Rank
  2. Path Compression

Trees

Traversal

  1. Inorder Traversal (Iterative)
  2. Inorder Traversal (Recursive)
  3. Preorder Traversal (Iterative)
  4. Preorder Traversal (Recursive)
  5. Postorder Traversal (Iterative)
  6. Postorder Traversal (Recursive)
  7. BFS Traversal / Level order Traversal
  8. Level order Traversal(Line By Line)
  9. Spiral Level order Traversal(Line By Line)

Operations

  1. Height of a Tree
  2. Nodes at k Distance in a Tree
  3. Left View of a Tree
  4. Validate Child Sum Property of a tree
  5. Check whether a tree is balanced or not
  6. Convert a tree to doubly LinkedList
  7. Construct a tree from inorder and preorder traversal
  8. Construct a tree from inorder and postorder traversal