Learn searching, sorting, and graph algorithms step by step
Filter by category, complexity, or status to explore interactive visual execution models.
Linear Search
Iterate sequentially through elements to find target value.
Binary Search
Divide-and-conquer search on sorted array by halving search space.
Bubble Sort
Repeatedly swap adjacent out-of-order elements.
Selection Sort
Find minimum element and place it at sorted boundary.
Insertion Sort
Build sorted array one element at a time by shifting elements.
Merge Sort
Divide array into halves, recursively sort, and merge sorted halves.
Quick Sort
Partition array around pivot element and recursively sort partitions.
Breadth-First Search (BFS)
Explore graph level by level using a queue.
Depth-First Search (DFS)
Explore as deep as possible along each branch before backtracking.
Dijkstra’s Algorithm
Find shortest paths from source vertex in non-negative weighted graph.
Recursion
Solve problems by having functions call themselves on smaller inputs.
Divide & Conquer
Break problem into subproblems, solve recursively, and combine.
Greedy Algorithms
Make locally optimal choice at each step to reach global optimum.
Dynamic Programming (DP)
Solve complex problems by breaking down into overlapping subproblems.
Backtracking
Systematically search solution space by trying and undoing choices.
