2Prim`s AlgorithmIn 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 nodeStep 2 – Connect it to the nearest nodeStep 3 – Connect one node already selected to the nearest unconnected node.Step 4 – Repeat 3 until all nodes are connected.
3Prim`s Algorithm Consider the example we looked at last lesson. Select any node you like.Lets select F.
4Prim`s Algorithm Connect it to the nearest node. C and D are both 3 away so we can choose either.Lets select C.
5Prim`s AlgorithmThe nearest node to either of F or C is D, which is only 3 away from F.So connect D to F.
6Prim`s Algorithm The nearest to D, F or C is E which is 2 from D. So connect E to D.
7Prim`s AlgorithmThe nearest to any of these four nodes is A which is 5 away from F.Connect A to F.
8Prim`s Algorithm We now need to connect the last node, B. The shortest arc is AB, which is 2.Connect B to A.
9Prim`s AlgorithmAll the nodes are now connected so this is the minimum connector or minimal spanning tree.
10Distance Table The Network can also be represented as a table. The infinity symbol (∞) means there is no edge between the two nodes.
11Prim`s on a Distance Table 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.
12Prim`s on a Distance Table Step 1 – Select any arbitrary node.Step 2 – Delete the row and loop the column that correspond to the node selected.Step 3 – Choose the smallest number in the loop.Step 4 – Delete the row that this smallest number is in.Step 5 – Loop the column that corresponds to the row just deleted.Step 6 – Choose the smallest number in any loop.Step 7 – Repeat steps 4, 5 and 6 until all rows have been deleted and columns looped.
13Prim`s on a Distance Table Here I have chosen F.Delete the row.Loop the column.Select the smallest number in the loop.
14Prim`s on a Distance Table Delete row C.Loop column C.Select the smallest number in any loop that is not crossed out.
15Prim`s on a Distance Table Delete row D.Loop column D.Select the smallest number in any loop that is not crossed out.
16Prim`s on a Distance Table Delete row E.Loop column E.Select the smallest number in any loop that is not crossed out.
17Prim`s on a Distance Table Delete row A.Loop column A.Select the smallest number in any loop that is not crossed out.
18Prim`s on a Distance Table Delete row B.Loop column B.
19Prim`s on a Distance Table 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.
20Prim`s on a Distance Table In this case they are AB, DE, AF, CF, DFCan you explain why this procedure is exactly the same as applying Prim`s algorithm?