Algtrax
welcome to
Algtrax

Learn, code, and visualise algorithms.

Explore Algorithms

Choose an algorithm to visualize and learn

Sorting

B

Bubble Sort

A simple sorting algorithm that repeatedly steps through the list, compares adjacent elements and swaps them if they are in the wrong order.

O(n²)
I

Insertion Sort

Builds the final sorted array one item at a time by repeatedly inserting a new element into the sorted portion of the array.

O(n²)
M

Merge Sort

A divide-and-conquer algorithm that recursively breaks down a problem into two or more sub-problems until they become simple enough to solve directly.

O(n log n)
Q

Quick Sort

A highly efficient, comparison-based sorting algorithm that uses a divide-and-conquer strategy with a pivot element to partition the array.

O(n log n) average, O(n²) worst

Searching

B

Binary Search

A search algorithm that finds the position of a target value within a sorted array by repeatedly dividing the search interval in half.

O(log n)
H

Hash Table Search

A data structure that implements an associative array abstract data type using linked lists for collision resolution.

O(1) average, O(n) worst
L

Linear Search

A method for finding a target value within a list by checking each element in sequence until the target is found.

O(n)

Graph Traversal

B

Breadth First Search

An algorithm for traversing or searching tree or graph data structures, exploring all vertices at the present depth before moving on to vertices at the next depth level.

O(V + E)
D

Depth First Search

An algorithm for traversing or searching tree or graph data structures, exploring as far as possible along each branch before backtracking.

O(V + E)
T

Tricolor Algorithm

A graph traversal algorithm that uses three colors to mark the state of vertices during traversal.

O(V + E)

Path Finding

D

Dijkstra

An algorithm for finding the shortest paths between nodes in a graph, which may represent, for example, road networks.

O(V²)
A

A*

A pathfinding algorithm that uses a heuristic function to estimate the cost to reach the goal, making it more efficient than Dijkstra's algorithm.

O(V log V)