selection sort
The Problem
See the Sorting Problem.
The Algorithm
Suppose is the initial list of unsorted elements. The selection sort algorithm sorts this list in steps. At each step , find the largest element such that , and swap it with the element at . So, for the first step, find the largest value in the list and swap it with the last element in the list. For the second step, find the largest value in the list up to (but not including) the last element, and swap it with the next to last element. This is continued for steps. Thus the selection sort algorithm is a very simple, in-place sorting algorithm.
Pseudocode
Algorithm Selection_Sort(L, n)
Input: A list of elements
Output: The list in sorted order
begin
for do
begin
for do
if then
end
end
Analysis
The selection sort algorithm has the same runtime for any set of elements, no matter what the values or order of those elements are. Finding the maximum element of a list of elements requires comparisons. Thus , the number of comparisons required to sort a list of elements with the selection sort, can be found:
However, the number of data movements is the number of swaps required, which is . This algorithm is very similar to the insertion sort algorithm. It requires fewer data movements, but requires more comparisons.
Title | selection sort |
---|---|
Canonical name | SelectionSort |
Date of creation | 2013-03-22 11:44:42 |
Last modified on | 2013-03-22 11:44:42 |
Owner | mathcam (2727) |
Last modified by | mathcam (2727) |
Numerical id | 8 |
Author | mathcam (2727) |
Entry type | Algorithm |
Classification | msc 68P10 |
Classification | msc 05C50 |
Classification | msc 05C25 |
Classification | msc 83-01 |
Related topic | InsertionSort |
Related topic | SortingProblem |