Bubble sort is a simple sorting algorithm that works by repeatedly comparing adjacent elements and swapping them if they are in the wrong order.

Bubble sort

Selection sort is another simple sorting algorithm that works by repeatedly finding the smallest element in an array and swapping it with the first element.

Selection sort

Insertion sort is a sorting algorithm that works by repeatedly inserting elements into their correct position in an already sorted array.

Insertion sort

Merge sort is a divide-and-conquer sorting algorithm that works by recursively dividing an array into two halves, sorting each half, and then merging the sorted halves together.

Merge sort

Quicksort is another divide-and-conquer sorting algorithm that works by recursively partitioning an array around a pivot element and then sorting the two resulting subarrays.

Quicksort

Heap sort is a sorting algorithm that works by building a heap data structure from an array and then repeatedly extracting the maximum element from the heap and placing it at the end of the sorted array.

Heap sort

Binary search is a search algorithm that works by repeatedly dividing the search space in half and then searching the half that is more likely to contain the target element.

Binary search

Breadth-first search is a graph traversal algorithm that works by repeatedly exploring the nodes of a graph that are connected to the current node in order of their distance from the starting node.

Breadth-first search

Dijkstra's algorithm is an algorithm for finding the shortest path between two nodes in a graph.