The Efficiency of Selection Sort

Selection Sort contains two types of steps: comparisons and swaps. That is, we compare each element with the lowest number we’ve encountered in each passthrough, and we swap the lowest number into its correct position.

Looking back at our example of an array containing five elements, we had to make a total of ten comparisons. Let’s break it down.

Passthrough #

# of comparisons

1

4 comparisons

2

3 comparisons

3

2 comparisons

4

1 comparison

So that’s a grand total of 4 + 3 + 2 + 1 = 10 comparisons.

To put it more generally, we’d say that for N elements, we make

(N - 1) + (N - 2) + (N - 3) … + 1 comparisons.

As for swaps, however, we only need to make a maximum of one swap per passthrough. This is because in each passthrough, ...

Get A Common-Sense Guide to Data Structures and Algorithms now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.