Insertion Sort vs. Selection Sort
algorithm, insertion-sort, selection-sort, sorting
Solution
Selection Sort:
Given a list, take the current element and exchange it with the smallest element on the right hand side of the current element.
Insertion Sort:
Given a list, take the current element and insert it at the appropriate position of the list, adjusting the list every time you insert. It is similar to arranging the cards in a Card game.
Time Complexity of selection sort is always `n(n - 1)/2`, whereas insertion sort has better time complexity as its worst case complexity is `n(n - 1)/2`. Generally it will take lesser or equal comparisons then `n(n - 1)/2`.
Source: http://cheetahonfire.blogspot.com/2009/05/selection-sort-vs-insertion-sort.html
Problem
I am trying to understand the differences between Insertion Sort and Selection Sort. They both seem to have two components: an unsorted sub-list and a sorted sub-list. They both seem to take one element from the unsorted sub-list and put it into the sorted list at the proper place. I have seen some sites/books saying that selection sort does this by swapping one pair of elements at a time while insertion sort simply finds the right spot and inserts it. However, I have seen other articles say something, saying that insertion sort also swaps. Consequently, I am confused. Is there any canonical source?