SA403 Worksheet 5 - Minimum Spanning Trees through Kruskal's and Prim's Algorithms
Minimum Spanning Tree of the graph by Kruskal's Algorithm:
[(0, 14, 1), (0, 16, 2), (1, 5, 3), (1, 19, 1), (2, 8, 8), (3, 11, 4), (3, 14, 1), (3, 17, 3), (4, 12, 3), (5, 7, 1), (5, 16, 1), (6, 9, 3), (7, 9, 4), (8, 9, 3), (10, 12, 1), (10, 14, 2), (12, 18, 2), (13, 16, 1), (15, 19, 1)]
Minimum Spanning Tree Weight: 45
[(0, 3, 2), (3, 15, 1), (5, 15, 1), (5, 12, 1), (12, 19, 1), (3, 4, 2), (3, 13, 2), (4, 8, 2), (1, 5, 2), (5, 16, 2), (4, 14, 4), (9, 14, 3), (1, 11, 5), (5, 7, 5), (6, 8, 5), (2, 12, 5), (2, 18, 4), (10, 12, 5), (16, 17, 5)]
Minimum Spanning Tree Weight via Prim's Algorithm: 57
Minimum Spanning Tree via Prim's Algorithm:
[(0, 2, 7), (2, 29, 4), (29, 39, 1), (3, 29, 2), (29, 38, 4), (0, 6, 8), (6, 9, 7), (5, 9, 1), (3, 12, 9), (9, 32, 10), (32, 44, 8), (26, 44, 2), (35, 44, 3), (10, 35, 5), (10, 23, 2), (23, 28, 1), (28, 47, 1), (10, 40, 4), (30, 40, 2), (18, 30, 2), (20, 30, 2), (20, 22, 1), (22, 48, 1), (41, 48, 2), (22, 45, 3), (13, 45, 3), (13, 15, 2), (24, 45, 3), (18, 31, 4), (31, 42, 1), (7, 47, 4), (1, 26, 6), (33, 48, 6), (15, 43, 7), (17, 43, 1), (17, 49, 5), (4, 49, 3), (4, 46, 1), (14, 23, 7), (14, 21, 3), (27, 42, 7), (16, 22, 8), (8, 40, 8), (13, 37, 9), (19, 44, 9), (18, 34, 10), (25, 39, 10), (14, 36, 14), (11, 41, 18)]
Minimum Spanning Tree Weight via Prim's Algorithm:
241
Minimum Spanning Tree via Kruskal's Algorithm:
[(0, 2, 7), (0, 6, 8), (1, 26, 6), (2, 29, 4), (3, 12, 9), (3, 29, 2), (4, 46, 1), (4, 49, 3), (5, 9, 1), (6, 9, 7), (7, 47, 4), (8, 40, 8), (9, 32, 10), (10, 23, 2), (10, 35, 5), (10, 40, 4), (11, 41, 18), (13, 15, 2), (13, 37, 9), (13, 45, 3), (14, 21, 3), (14, 23, 7), (14, 36, 14), (15, 43, 7), (16, 22, 8), (17, 43, 1), (17, 49, 5), (18, 30, 2), (18, 31, 4), (18, 34, 10), (19, 44, 9), (20, 22, 1), (20, 30, 2), (22, 45, 3), (22, 48, 1), (23, 28, 1), (24, 45, 3), (25, 39, 10), (26, 44, 2), (27, 42, 7), (28, 47, 1), (29, 38, 4), (29, 39, 1), (30, 40, 2), (31, 42, 1), (32, 44, 8), (33, 48, 6), (35, 44, 3), (41, 48, 2)]
Minimum Spanning Tree Weight via Kruskal's Algorithm:
241
+-------+----------------+-----------------+--------------------+
| p | Edges in Graph | runtime, Prim's | runtime, Kruskal's |
+=======+================+=================+====================+
| 1/20 | 259 | 0.208 | 0.0 |
+-------+----------------+-----------------+--------------------+
| 1/10 | 524 | 0.396 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 3/20 | 760 | 0.704 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 1/5 | 949 | 0.808 | 0.0 |
+-------+----------------+-----------------+--------------------+
| 1/4 | 1252 | 1.072 | 0.0 |
+-------+----------------+-----------------+--------------------+
| 3/10 | 1468 | 1.288 | 0.0 |
+-------+----------------+-----------------+--------------------+
| 7/20 | 1741 | 1.508 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 2/5 | 1958 | 1.624 | 0.0 |
+-------+----------------+-----------------+--------------------+
| 9/20 | 2161 | 2.016 | 0.0 |
+-------+----------------+-----------------+--------------------+
| 1/2 | 2501 | 2.152 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 11/20 | 2738 | 2.316 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 3/5 | 3056 | 2.424 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 13/20 | 3220 | 2.536 | 0.008 |
+-------+----------------+-----------------+--------------------+
| 7/10 | 3457 | 2.596 | 0.008 |
+-------+----------------+-----------------+--------------------+
| 3/4 | 3644 | 2.812 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 4/5 | 3968 | 2.98 | 0.004 |
+-------+----------------+-----------------+--------------------+
| 17/20 | 4195 | 3.18 | 0.008 |
+-------+----------------+-----------------+--------------------+
| 9/10 | 4420 | 3.336 | 0.008 |
+-------+----------------+-----------------+--------------------+
| 19/20 | 4696 | 3.512 | 0.008 |
+-------+----------------+-----------------+--------------------+
| 1 | 4950 | 3.652 | 0.008 |
+-------+----------------+-----------------+--------------------+
As evidenced by the table, as the number of edges in a graph increases, the runtime of my created function for Prim's Algorithm increases drastically, while the impact on the kruskal function is negligible.