This document details various sorting algorithms including bubble sort, selection sort, insertion sort, shell sort, heap sort, bucket sort, radix sort, and counting sort. Each algorithm is explained with algorithms for implementation and their time complexity in best, worst, and average cases. Examples are provided to illustrate how each sorting method operates.