Exploring Algorithms
Explore the fundamentals of 12 essential algorithm types with clear visualizations.
Algorithms
What is algorithm
An algorithm is a step-by-step process to solve a problem or complete a task efficiently.
Learn nowEuclid Algorithm
The Euclidean Algorithm finds the GCD of two numbers by repeatedly dividing and taking remainders until the remainder is zero.
Learn nowKnuth Morris Pratt
The KMP algorithm finds patterns in text efficiently by using a preprocessed table to skip redundant comparisons.
Learn nowSorting Algorithms
Insertion Sort
Insertion Sort is a simple sorting algorithm that builds the final sorted array one item at a time by repeatedly inserting each element into its correct position.
Learn nowSelection Sort
Selection Sort is a sorting algorithm that repeatedly selects the smallest (or largest) element from the unsorted portion and moves it to the end of the sorted portion.
Learn nowBubble Sort
Bubble Sort repeatedly swaps adjacent elements if they are in the wrong order until the list is sorted.
Learn nowMerging Sort
Merge Sort is a divide-and-conquer algorithm that splits the list into halves, sorts each half, and then merges the sorted halves back together.
Learn nowQuick Sort
Quick Sort is a divide-and-conquer algorithm that selects a "pivot" element, partitions the list into elements less than and greater than the pivot, and recursively sorts the partitions.
Learn nowSearch Algorithms
Linear Search
Linear Search checks each element in a list sequentially until the target element is found or the end of the list is reached.
Learn nowBinary Search
Binary Search efficiently finds an element in a sorted list by repeatedly dividing the search interval in half.
Learn nowBreadth First Search
Breadth-First Search explores a graph or tree level by level, starting from the root or initial node and visiting all neighbors before moving to the next level.
Learn nowDepth First Search
Depth-First Search (DFS) explores a graph or tree by diving as deep as possible into each branch before backtracking.
Learn nowSequential Search
Sequential Search checks each element in a list one by one until it finds the target or reaches the end.
Learn now