The current chapter builds the fundamental of sorting algorithm. The chapter introduced two kinds of sorting algorithm - comparison-based and non-comparison-based. The chapter introduced fundamentals of insertion sort, bubble sort, and selection sort, which are comparison-based algorithms and cover its implementation in R. The second half of the chapter focused on non-comparison-based sorting algorithms such as shell sort, merge sort, quick sort, heap sort, bin sort, and radix sort. The chapter also provided empirical comparison of various sorting algorithms.