Sie sind auf Seite 1von 32

Decision Maths

Lesson 11 Sorting
Algorithms

Sorting Algorithms

Wiltshire

Something as simple as sorting a list of numbers

needs an algorithm on a computer.


Look at the list of numbers below;
8, 3, 5, 2, 7, 9, 1, 4, 6
Clearly it is easy to see how the numbers would go
from smallest to biggest.
However a computer, does not have the ability to do
this as simply as we can.
It would use a sorting algorithm; we are going to look
at the following algorithms to sort these numbers:

Bubble Sort Algorithm


Selection with interchange Sort Algorithm
Quick Sort Algorithm
Shuttle Sort Algorithm
Insertion Sort Algorithm

Bubble Sort Algorithm

Wiltshire

We are going to sort out this list

1st Iteration

in to ascending order.
The first thing to do is to
compare the first two numbers
to see if they are the correct
way around.
In this case they are not so we
change them.
Now repeat the process on the
next pair of numbers, and so on.
The process (or iteration) stops
when all the pairs have been
compared.
The final line shows the State of
the order after the first iteration.

Bubble Sort Algorithm


2nd Iteration

Wiltshire

The process now

begins again starting


with the new state of
the line.
It is important to show
all of your working and
do not skip or assume
any steps.
Remember to show the
state of the line at the
end of each iteration.

Bubble Sort Algorithm


3rd Iteration

Wiltshire

The process now

begins again starting


with the new state of
the line.
It is important to show
all of your working and
do not skip or assume
any steps.
Remember to show the
state of the line at the
end of each iteration.

Bubble Sort Algorithm


4th Iteration

Wiltshire

The process now

begins again starting


with the new state of
the line.
It is important to show
all of your working and
do not skip or assume
any steps.
Remember to show the
state of the line at the
end of each iteration.

Bubble Sort Algorithm


5th Iteration

Wiltshire

The process now

begins again starting


with the new state of
the line.
It is important to show
all of your working and
do not skip or assume
any steps.
Remember to show the
state of the line at the
end of each iteration.

Bubble Sort Algorithm


6th Iteration

Wiltshire

The process now

begins again starting


with the new state of
the line.
It is important to show
all of your working and
do not skip or assume
any steps.
Remember to show the
state of the line at the
end of each iteration.

Bubble Sort Algorithm

Wiltshire

You will have seen from the last

7th Iteration
1

iteration that the final state of


the line was in the correct order.
You might think that this means
you can stop the algorithm.
Remember that an algorithm is
a set or list of instructions that
solve a particular problem.
There is no intelligence within
the algorithm to tell a computer
that the correct answer has
been reached.
So you must run through the list
one last time.
The fact that no changes are
made will tell the operator that
the list must be in the correct
order.

Bubble Sort Algorithm

Wiltshire

Now see if you can complete the Algorithm

with the questions below.


Use the bubble sort algorithm to put the
following numbers in ascending order.

8 6 9 2 5
Use the bubble sort algorithm to put the
following numbers in descending order.

8 6 9 2 5

Selection with Interchange


Sort Algorithm

Wiltshire

In this Algorithm the smallest number is

located and changed with the first.


8

Selection with Interchange


Sort Algorithm

Wiltshire

The smallest number is now in the correct place, so you

locate the second smallest and change it with the second


number.
8

Selection with Interchange


Sort Algorithm

Wiltshire

Then the third smallest gets swapped with the third number.
The fourth smallest with the fourth number, and so on.
8

Selection with Interchange


Sort Algorithm

Wiltshire

On the last pass you can see that the list has already been sorted.
However, similar to previous algorithms all steps must be carried out to

ensure the process works correctly.


8

Selection with Interchange


Sort Algorithm

Wiltshire

Now see if you can complete the Algorithm

with the questions below.


Use the Selection with Interchange
Sort Algorithm to put the following numbers in
ascending order.

4 1 6 2 5 9
Use the Selection with Interchange
Sort Algorithm to put the following numbers in
descending order.

4 1 6 2 5 9

Quick Sort Algorithm

Wiltshire

The quick sort Algorithm is


8

based on a pivot number


and sub-lists.
The way of obtaining a pivot
number can vary. In the
Edexcel course they use a
middle number (see very last
slide).
For this course we are going
to use the first number in the
list.
Starting with your un-ordered
list pick the pivot number.
Here the pivot is the first
number in the list, 8.

Quick Sort Algorithm

Wiltshire

Now the pivot number is


8

made permanent by placing


everything bigger than it to
the right and everything
smaller to the left.
This number is definitely in
the correct place so it can be
fixed.
Notice how the order of the
numbers has not changed.
You now have two sub-lists
either side of 8.
Repeat the process of
picking a pivot and sorting
the list on each sub-list

Quick Sort Algorithm


8

The pivot for the left list is 3.


Fix the 3 as a permanent

Wiltshire

number and put everything


bigger to the right and
smaller to the left.
Remembering not to change
the order of the numbers.
Once again we are certain
that the 3 is in the correct
place so we can fix its
position.
The pivot for the right list is
the 9.
As this is the only number in
the sub-list then it to can be
made fixed.

Quick Sort Algorithm

Wiltshire

We now have two sub-lists


8

either side of the 3.


For the left list the pivot is 2.
Make it permanent.
Arrange smaller numbers left
and bigger numbers right.
Fix 2 in final list.
For the right list the pivot is 5.
Make it permanent.
Arrange smaller numbers left
and bigger numbers right.
Fix 5 in final list.

Quick Sort Algorithm

Wiltshire

There are now three sub8

lists.
Two of them are easily dealt
with because both lists are
single digits.
So these can be fixed in the
final list.
The 7 is now the pivot in the
last list.
Make it permanent.
The 6 moves across.
We can fix the 7 in the final
list.
Now all thats left is the 6 so
we can fix that too.

Quick Sort Algorithm

Wiltshire

Now see if you can complete the Algorithm

with the questions below.


Use the Selection with Quick Sort Algorithm
to put the following numbers in ascending
order.

4 1 6 2 5 9
Use the Selection with Quick Sort Algorithm
to put the following numbers in descending
order.

4 1 6 2 5 9

The Shuttle Sort Algorithm

Wiltshire

Step 1 (first pass) compare


8

Original1st Pass
list

2nd
Pass

3rd
Pass

the first two numbers,


Swap if necessary to put
numbers in ascending order.
Step 2 (second pass)
compare the second and third
numbers
Swap if necessary.
Now compare the first and
second again. Swapping if
necessary.
Step 3 (third pass) - compare
the third and fourth numbers,
then the second and third and
then the first and second.

The Shuttle Sort Algorithm

Wiltshire

Step 4
2

8
7

4th
Pass

5th
Pass

(4th pass)
Compare the
4th and 3rd, 3rd
and 2nd, 1st and
2nd.
Step 5
(5th pass)
Compare the
5th and 4th, 4th
and 3rd, 3rd and
2nd, 1st and 2nd.

The Shuttle Sort Algorithm


2

6
6th
Pass

Wiltshire

Step 6

(6th pass)
Compare the 6th
and 5th, 5th and 4th,
4th and 3rd, 3rd and
2nd, 2nd and 1st.

The Shuttle Sort Algorithm


1

6
7th
Pass

Wiltshire

Step 7

(7th pass)
Compare the 7th
and 6th, 6th and
5th, 5th and 4th, 4th
and 3rd, 3rd and
2nd, 2nd and 1st.

The Shuttle Sort Algorithm

Wiltshire

Step 8
1

9
8th
Pass

(8th pass)
Compare the 8th
and 7th, 7th and 6th,
6th and 5th, 5th and
4th, 4th and 3rd, 3rd
and 2nd, 2nd and
1st.
Hopefully you can
see that this
Algorithm will
always have (n-1)
iterations.

The Shuttle Sort Algorithm

Wiltshire

Now see if you can complete the Algorithm

with the questions below.


Use the Selection with The Shuttle Sort
Algorithm to put the following numbers in
ascending order.

3 8 6 8 1 9
Use the Selection with The Shuttle Sort
Algorithm to put the following numbers in
descending order.

3 8 6 8 1 9

Insertion Sort Algorithm

Wiltshire

This is probably the most straight forward of the methods.


Numbers should be taken one at a time from the original list,

and inserted in their correct positions in the new list.


8
3
5
2
7
9
1
4
6

8
9

Insertion Sort Algorithm

Wiltshire

Again hopefully you can see that this will have n

iterations.
8
3
5
2
7
9
1
4
6

8
9

Insertion Sort Algorithm

Wiltshire

Now see if you can complete the Algorithm

with the questions below.


Use the Selection with Insertion Sort
Algorithm to put the following numbers in
ascending order.

4 1 6 2 5 9
Use the Selection with Insertion Sort
Algorithm to put the following numbers in
descending order.

4 1 6 2 5 9

Complexity
Bubble Sort
Selection with interchange
Quick Sort
Shuttle Sort
Insertion Sort

Wiltshire

Edexcel
Quick Sort Algorithm

Wiltshire

5
1

Das könnte Ihnen auch gefallen