Search Algorithms

In this section, we will be learning about various search algorithms. As the name says it is a searching algorithm that is used for checking whether the given data is present in a collection of data or not.

Sorting Algorithms

Graph Algorithms

In this series of the topic, we explore various algorithm and concept related to Graph Algorithms and their implementation in C++. Each topic consists of Notes, Curated Practice Problems, and YouTube videos for Proper Understanding.

  • Basic Graph Theory
  • Graph Representation
  • Graph Traversal
    • Breadth-First Search
    • Depth First Search
  • Application of DFS
    • Connected Component, Articulation Points, Bridges
    • Cycle Detection
  • Application of BFS
    • Connected Component, Cycle Detection
  • Tree Algorithms
    • Different types of Tree Traversal
    • Diagonal of Tree
    • All Longest Paths
    • Counting Number of nodes in Subtree
  • Shortest Path Algorithms
    • Introduction to Shortest Path & Bellman-Ford Algorithms
    • Dijkstra Algorithm
    • Floyd-Warshall’s Algorithm
  • Minimum Spanning Tree
    • Introduction to Spanning Tree, MST, Kruskal’s Algorithm
    • Prim’s Algorithm
  • Directed Graphs
    • Topological Sort
    • Acyclic Graph Problem Solving using Dynamic Programming
    • Successor Paths and Cycle Detection using Floyd’s Algorithm in DAG
  • Strongly Connected Components
  • Tree Queries
    • Finding K-th Ancestors
    • Subtree and Path Queries
    • Lowest Common Ancestors
  • Flood-fill Algorithm
  • Biconnected Components
  • Hamiltonian Path
  • Maximum Flow
  • Minimum Cost Maximum Flow
  • Min-cut

String Algorithms

  • Basics of String Manipulation
  • String Searching
  • Z Algorithm
  • Manachar’s Algorithm