The document discusses various sorting algorithms:
- Insertion sort works by dividing an array into sorted and unsorted parts, inserting unsorted elements into the sorted part one by one.
- Quicksort uses a divide and conquer approach, recursively dividing the array into sublists and selecting a pivot element.
- Merge sort divides the array into halves, recursively sorts the halves, and then merges the sorted halves.
- Heap sort uses a heap data structure that maintains the heap property as it builds the heap from an unsorted array and then extracts elements in sorted order.