Interactive animations for sorting & searching algorithms
Repeatedly swaps adjacent elements until sorted.
Repeatedly finds the smallest element and places it at the beginning.
Builds the sorted array one item at a time.
Divides the array into halves, sorts and merges them.
Partitions the array and recursively sorts the partitions.
Builds a heap and repeatedly extracts the maximum element.
First Come First Serve scheduling algorithm.
Shortest Job First scheduling algorithm.
Each process is assigned a fixed time slot in a cyclic way.
Checks each element until the target is found.
Efficiently searches a sorted array by repeatedly dividing the search interval in half.
Replaces the oldest page in memory.
Replaces the least recently used page.
Replaces the page used farthest in future.
Explores graph level by level using a queue.
Explores graph deeply before backtracking.
Finds shortest paths from a source node to all other nodes in a weighted graph.
Allocates each process to the first memory block large enough.
Allocates process to the smallest block that fits it.
Allocates process to the largest available memory block.
Processes disk requests in the order they arrive.
Selects the disk request closest to the current head.
Disk head moves like an elevator servicing requests.
Draws a line by incrementally plotting pixels between two points.
Efficient line drawing algorithm using integer calculations.
Draws a circle using symmetry and midpoint decision.