Top Banner
Minimum Spanning Trees Prim’s Algorithm Kruskal’s Algorithm
33

PrimKruskal.ppt

Nov 16, 2015

Download

Documents

Sruthy Sasi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Minimum Spanning TreesPrims Algorithm Kruskals Algorithm

  • Prims Algorithm Initialize array425

    AHBFEDCG721018343789310

    2

    KdvpvAFBFCFDFEFFFGFHF

  • 425

    AHBFEDCG721018343789310Start with any node, say D

    2

    KdvpvABC DT0EFGH

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes

    2

    KdvpvABC 3DDT0E25DF18DG2DH

  • 425

    AHBFEDCG721018343789310Select node with minimum distance

    2

    KdvpvABC 3DDT0E25DF18DGT2DH

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes

    2

    KdvpvABC 3DDT0E7GF18DGT2DH3G

  • 425

    AHBFEDCG721018343789310Select node with minimum distance

    2

    KdvpvABCT 3DDT0E7GF18DGT2DH3G

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes

    2

    KdvpvAB4CCT 3DDT0E7GF3CGT2DH3G

  • 425

    AHBFEDCG721018343789310Select node with minimum distance

    2

    KdvpvAB4CCT 3DDT0E7GFT3CGT2DH3G

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes

    2

    KdvpvA10FB4CCT 3DDT0E2FFT3CGT2DH3G

  • 425

    AHBFEDCG721018343789310Select node with minimum distance2

    KdvpvA10FB4CCT 3DDT0ET2FFT3CGT2DH3G

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes2Table entries unchanged

    KdvpvA10FB4CCT 3DDT0ET2FFT3CGT2DH3G

  • 425

    AHBFEDCG721018343789310Select node with minimum distance2

    KdvpvA10FB4CCT 3DDT0ET2FFT3CGT2DHT3G

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes2

    KdvpvA4HB4CCT 3DDT0ET2FFT3CGT2DHT3G

  • 425

    AHBFEDCG721018343789310Select node with minimum distance2

    KdvpvAT4HB4CCT 3DDT0ET2FFT3CGT2DHT3G

  • 425

    AHBFEDCG721018343789310Update distances of adjacent, unselected nodes2Table entries unchanged

    KdvpvAT4HB4CCT 3DDT0ET2FFT3CGT2DHT3G

  • 425

    AHBFEDCG721018343789310Select node with minimum distance2

    KdvpvAT4HBT4CCT 3DDT0ET2FFT3CGT2DHT3G

  • 4

    AHBFEDCG23433Cost of Minimum Spanning Tree = dv = 212Done

    KdvpvAT4HBT4CCT 3DDT0ET2FFT3CGT2DHT3G

  • Kruskals Algorithm

    Work with edges, rather than nodesTwo steps:Sort edges by increasing edge weightSelect the first |V| 1 edges that do not generate a cycle

  • Walk-ThroughConsider an undirected, weight graph51

    AHBFEDCG3246343484310

  • Sort the edges by increasing edge weight51

    AHBFEDCG3246343484310

    edgedv(D,E)1 (D,G)2 (E,G)3 (C,D)3 (G,H)3 (C,F)3 (B,C)4

    edgedv(B,E)4 (B,F)4 (B,H)4 (A,H)5 (D,F)6 (A,B)8 (A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310Accepting edge (E,G) would create a cycle

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG3246343484310

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10

  • Select first |V|1 edges which do not generate a cycle51

    AHBFEDCG2333DoneTotal Cost = dv = 214}not considered

    edgedv(D,E)1(D,G)2(E,G)3(C,D)3(G,H)3 (C,F)3(B,C)4

    edgedv(B,E)4(B,F)4(B,H)4(A,H)5(D,F)6(A,B)8(A,F)10