This document describes three sorting algorithms: bubble sort, insertion sort, and selection sort. Bubble sort works by repeatedly "bubbling up" the largest value to the end of the array through pairwise comparisons and swaps. Insertion sort inserts elements into the sorted portion of the array by comparing elements and swapping as needed. Selection sort finds the minimum element and swaps it into the front repeatedly. All three algorithms have a worst-case complexity of O(n2) due to the potential for many swaps or comparisons.