Selection Sort, Quick Sort, Merge Sort, and Efficiency
Selection sort works by dividing the input list into two parts: one of which is sorted (and built up from left to right at the front of the list), and the rest are unsorted items. Initially, the entire list is unsorted, and the algorithm proceeds by finding the smallest element, exchanging it with the leftmost unsorted element and moving the boundary one element to the right. In terms of efficiency, it is O(n^2), and it generally performs worse than insertion sort.
Quick sort, also known as partition-exchange sort, works by choosing an element to be a pivot, dividing all of the elements into two partitions (all elements less than the pivot must be in the first partition, and all elements greater than the pivot in the second partition), using recursion to sort the partitions, and finally joining the first sorted partition, the pivot, and the second sorted partition. Regarding efficiency, the runtime of quick sort ranges from O(n log n) to O(n^2).
Merge sort is a comparison-based sorting algorithm. It works by dividing the list into n sublists, each containing one element. The sublists are repeatedly merged in order, to produce new sublists until there is only one sublist remaining - the sorted list. Thus the algorithm can be described as 'divide and conquer'. With respect to its efficiency, its worst case complexity is O(n log n) and best case complexity is O(n) (for pre-sorted input).
-reference: Wikipedia