Sie sind auf Seite 1von 20

# Decision Maths

Prim`s Algorithm

Wiltshire

## In Lesson 1 we learnt about Kruskal`s algorithm,

which was used to solve minimum connector problems. Another method that can be used is Prim`s algorithm. Step 1 Select any node Step 2 Connect it to the nearest node Step 3 Connect one node already selected to the nearest unconnected node. Step 4 Repeat 3 until all nodes are connected.

Prim`s Algorithm
Select any node you like.
Lets select F.

Wiltshire

## Consider the example we looked at last lesson.

Prim`s Algorithm
So connect E to D.

Wiltshire

## The nearest to D, F or C is E which is 2 from D.

Prim`s Algorithm
Connect it to the nearest node.

Wiltshire

## C and D are both 3 away so we can choose either.

Lets select C.

Prim`s Algorithm
only 3 away from F. So connect D to F.

Wiltshire

## The nearest node to either of F or C is D, which is

Prim`s Algorithm
5 away from F. Connect A to F.

Wiltshire

## The nearest to any of these four nodes is A which is

Prim`s Algorithm
We now need to connect the last node, B.

Wiltshire

Connect B to A.

Prim`s Algorithm

Wiltshire

Distance Table

Wiltshire

Wiltshire

## We are going to apply Prim`s algorithm to

the distance table. This demonstrates how a computer could apply the algorithm. Prim`s is more suitable than Kruskal`s as computers have a problem recognising loops. As you go through the algorithm, see if you can relate the procedure to the last example.

## Prim`s on a Distance Table

Step 1 Step 2 Step 3 Step 4 Step 5 Step 6 Step 7

Wiltshire

Select any arbitrary node. Delete the row and loop the column that correspond to the node selected. Choose the smallest number in the loop. Delete the row that this smallest number is in. Loop the column that corresponds to the row just deleted. Choose the smallest number in any loop. Repeat steps 4, 5 and 6 until all rows have been deleted and columns looped.

## Prim`s on a Distance Table

Here I have chosen F.

Wiltshire

Loop the column.

Delete row C.

Wiltshire

Loop column C.

Delete row D.

Wiltshire

Loop column D.

Delete row E.

Wiltshire

Loop column E.

Delete row A.

Wiltshire

Loop column A.

Delete row B.

Wiltshire

Loop column B.

Wiltshire

## The algorithm is complete when all the columns have

been looped and the rows crossed out. The circles show the edges in the minimum connector.

## Prim`s on a Distance Table

In this case they are AB, DE, AF, CF, DF

Wiltshire