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?

Original source