Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Detailed Traces of Execution for Prim's and Dijkstra's Algorithms, Study notes of Algorithms and Programming

Detailed traces of execution for prim's and dijkstra's algorithms on different graphs. It includes the node and edge lists, min heap or sorted edge list, and sets as edges accepted. The algorithms are used to find the minimum spanning tree and single-source shortest path spanning tree respectively.

Typology: Study notes

Pre 2010

Uploaded on 08/18/2009

koofers-user-cw9
koofers-user-cw9 🇺🇸

4

(1)

10 documents

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
CScD-320, Algorithms
Prim’s Algorithm — Detailed Traces of Execution
A
B
C
D
3
1
1
1 2
Node and Edge List:
Node A, edges to: B(3) C(1)
Node B, edges to: A(3) C(1) D(1)
Node C, edges to: A(1) B(1) D(2)
Node D, edges to: B(1) C(2)
MinHeap: AC(1) | AB(3)
C off: AB(3) then enter CB(1), CD(2)
MinHeap: CB(1) | AB(3) CD(2)
B off: CD(2) | AB(3) then add BD(1)
MinHeap: BD(1) | AB(3) CD(2)
D off: CD(2) | AB(3)
Drop D : AB(3)
Drop B : <empty>
Prim's min.spanning tree
A AC CB BD
Weight 3: A(1) B(3) C(2) D(4)
Printed 05-Dec-20 07:37
A
B
C
D
pf3
pf4

Partial preview of the text

Download Detailed Traces of Execution for Prim's and Dijkstra's Algorithms and more Study notes Algorithms and Programming in PDF only on Docsity!

CScD-320, Algorithms

Prim’s Algorithm — Detailed Traces of Execution

A

B

C

D

Node and Edge List:

Node A, edges to: B(3) C(1)

Node B, edges to: A(3) C(1) D(1)

Node C, edges to: A(1) B(1) D(2)

Node D, edges to: B(1) C(2)

MinHeap: AC(1) | AB(3)

C off: AB(3) — then enter CB(1), CD(2)

MinHeap: CB(1) | AB(3) CD(2)

B off: CD(2) | AB(3) — then add BD(1)

MinHeap: BD(1) | AB(3) CD(2)

D off: CD(2) | AB(3)

Drop D : AB(3)

Drop B :

Prim's min.spanning tree

A AC CB BD

Weight 3: A(1) B(3) C(2) D(4)

A

B

C

D

A B C^ D E F G

Note: This graph has a shape somewhat similar to the one for assignment 9, but the different edges and different edge weights will make Prim’s Algorithm behave very differently on this graph than it does on the homework assignment. Node and Edge List:

Node A, edges to: B(1) C(2) G(5)

Node B, edges to: A(1) C(6) E(1) F(5)

Node C, edges to: A(2) B(6) D(1) F(2)

Node D, edges to: C(1) F(2) G(1)

Node E, edges to: B(1) F(3)

Node F, edges to: B(5) C(2) D(2) E(3) G(1)

Node G, edges to: A(5) D(1) F(1)

MinHeap: AB(1) | AC(2) AG(5)

B off: AC(2) | AG(5) — then enter BC(6), BE(1), BF(5)

MinHeap: BE(1) | AC(2) BC(6) | AG(5) BF(5)

E off: AC(2) | BF(5) BC(6) | AG(5) — then enter EF(3)

MinHeap: AC(2) | EF(3) BC(6) | AG(5) BF(5)

C off: EF(3) | BF(5) BC(6) | AG(5) — then enter CD(1), CF(2)

MinHeap: CD(1) | EF(3) CF(2) | AG(5) BF(5) BC(6)

D off: CF(2) | EF(3) BC(6) | AG(5) BF(5) — then enter DF(2), DG(1)

MinHeap: DG(1) | EF(3) CF(2) | AG(5) BF(5) BC(6) DF(2) |

G off: DF(2) | EF(3) CF(2) | AG(5) BF(5) BC(6) — then enter GF(1)

MinHeap: GF(1) | EF(3) DF(2) | AG(5) BF(5) BC(6) CF(2)

F off: CF(2) | EF(3) DF(2) | AG(5) BF(5) BC(6)

At this point, all vertices are in the MST, so that

successive removals will be discarded:

Prim's min.spanning tree

A AB BE AC CD DG GF

Weight 7: A(1) B(2) C(4) D(5) E(3) F(7) G(6)

A B C^ D E F G

A B C^ D E F G

Note: This graph has a shape somewhat similar to the one for assignment 9, but the different edges and different edge weights will make Dijkstra’s Algorithm behave very differently on this graph than it does on the homework assignment. Node and Edge List:

Node A, edges to: B(1) C(2) G(5)

Node B, edges to: A(1) C(6) E(1) F(5)

Node C, edges to: A(2) B(6) D(1) F(2)

Node D, edges to: C(1) F(2) G(1)

Node E, edges to: B(1) F(3)

Node F, edges to: B(5) C(2) D(2) E(3) G(1)

Node G, edges to: A(5) D(1) F(1)

MinHeap: AB(1) | AC(2) AG(5)

B off: AC(2) | AG(5) — then toss BC(6>2), enter BE(1), BF(5)

MinHeap: AC(2) | AG(5) BE(2) | BF(6)

C off: BE(2) | AG(5) BF(6) — then enter cD(3), cF(4<6)

MinHeap: BE(2) | CD(3) BF(6) | AG(5) CF(4)

E off: CD(3) | CF(4) BF(6) | AG(5) — then toss eF(5>4)

MinHeap: CD(3) | CF(4) BF(6) | AG(5)

D off: CF(4) | AG(5) BF(6) — then add dG(4<5)

MinHeap: CF(4) | DG(4) BF(6) | AG(5)

F off: DG(4) | AG(5) BF(6) — then toss fG(5=5)

MinHeap: DG(4) | AG(5) BF(6)

G off: AG(5) | BF(6)

At this point, all vertices are in the spanning

tree, so that successive removals will be discarded:

Dijkstra's single-source

shortest-path spanning tree

A AB AC BE CD CF DG

A(1) B(2) C(3) D(5) E(4) F(6) G(7)

1 1 2 1 2 1 A B C D E F G

Prim's Minimum Spanning Tree Algorithm

Input data for Prim's Algorithm (weights shown in parentheses after the destination node

designation):

Node A, edges to: G(6) F(2) B(1) Node B, edges to: E(4) D(2) C(1) A(1) Node C, edges to: E(4) B(1) Node D, edges to: F(1) E(2) B(2) Node E, edges to: L(4) G(1) F(2) D(2) C(4) B(4) Node F, edges to: L(2) E(2) D(1) A(2) Node G, edges to: L(5) J(1) H(3) E(1) A(6) Node H, edges to: I(2) G(3) Node I, edges to: K(1) H(2) Node J, edges to: M(2) L(3) K(1) G(1) Node K, edges to: J(1) I(1) Node L, edges to: M(1) J(3) G(5) F(2) E(4) Node M, edges to: L(1) J(2)

Sedgewick’s Figure 31.

Four traces: two different node orders, each with adjacency lists in two different orders. All

total 16 (use eight edges of weight 1 and four edges of weight 2).

Nodes processed from A to M || Nodes processed from M to A Lists as shown | Lists Flipped || Lists as shown | Lists Flipped A->B (1) | A->B (1) || M->L (1) | M->L (1) B->C (1) | B->C (1) || M->J (2) | M->J (2) B->D (2) | B->D (2) || J->K (1) | J->G (1) D->F (1) | D->F (1) || J->G (1) | J->K (1) D->E (2) | D->E (2) || K->I (1) | G->E (1) E->G (1) | E->G (1) || G->E (1) | K->I (1) G->J (1) | G->J (1) || I->H (2) | E->D (2) J->K (1) | J->K (1) || L->F (2) | D->F (1) K->I (1) | K->I (1) || F->D (1) | D->B (2) F->L (2) | J->M (2) || F->A (2) | B->A (1) L->M (1) | M->L (1) || A->B (1) | B->C (1) I->H (2) | I->H (2) || B->C (1) | I->H (2)

A Few More Examples — Shown Graphically

Sedgewick’s Figure 31.

CScD-320, Algorithms Kruskal’s Algorithm — Detailed Traces of Execution A B C D 3 1 1 1 2

Node and Edge List:

Node A, edges to: B(3) C(1) Node B, edges to: A(3) C(1) D(1) Node C, edges to: A(1) B(1) D(2) Node D, edges to: B(1) C(2)

Sorted Edge List:

AC(1) BC(1) BD(1) CD(2) AB(3)

Sets as Edges Accepted:

Sets Edges Accepted

{A} {B} {C} {D}

{AC} {B} {D} AC(1)

{ABC} {D} AC(1) BC(1)

{ABCD} AC(1) BC(1) BD(1)

Discard CD(2) AB(3)

A B C^ D E F G

Node and Edge List:

Node A, edges to: B(1) C(2) G(5) Node B, edges to: A(1) C(6) E(1) F(5) Node C, edges to: A(2) B(6) D(1) F(2) Node D, edges to: C(1) F(2) G(1) Node E, edges to: B(1) F(3) Node F, edges to: B(5) C(2) D(2) E(3) G(1) Node G, edges to: A(5) D(1) F(1)

Sorted Edge List:

AB(1) BE(1) CD(1) DG(1) FG(1) AC(2) CF(2) DF(2) EF(3) AG(5) BF(5) BC(6)

Sets as Edges Accepted:

Sets Edges Accepted

{A} {B} {C} {D} {E} {F} {G}

{AB} {C} {D} {E} {F} {G} AB(1)

{ABE} {C} {D} {F} {G} AB(1) BE(1)

{ABE} {CD} {F} {G} AB(1) BC(1) CD(1)

{ABE} {CDG} {F} AB(1) BC(1) CD(1) DG(1)

{ABE} {CDFG} AB(1) BC(1) CD(1) DG(1) DG(1)

{ABCDEFG} AB(1) BC(1) CD(1) DG(1) DG(1) AC(2)

Discard remainder

Node and Edge List:

Node A, edges to: B(1) F(2) G(6)

Node B, edges to: A(1) C(1) D(2) E(4)

Node C, edges to: B(1) E(4)

Node D, edges to: B(2) E(2) F(1)

Node E, edges to: B(4) C(4) D(2) F(2) G(1) L(4)

Node F, edges to: A(2) D(1) E(2) L(2)

Node G, edges to: A(6) E(1) H(3) J(1) L(5)

Node H, edges to: G(3) I(2)

Node I, edges to: H(2) K(1)

Node J, edges to: G(1) K(1) L(3) M(2)

Node K, edges to: I(1) J(1)

Node L, edges to: E(4) F(2) G(5) J(3) M(1)

Node M, edges to: J(2) L(1)

Sorted Edge List:

AB(1) BC(1) DF(1) EG(1) GJ(1) IK(1) JK(1) LM(1)

AF(2) BD(2) DE(2) EF(2) FL(2) HI(2) JM(2)

GH(3) JL(3) BE(4) CE(4) EL(4) GL(5) AG(6)