added code description for prims algorithm

pull/817/head
rathi310 2022-08-26 15:38:18 +05:30
parent b6d86e4e85
commit 298036bcc8
1 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,24 @@
/*
APPROACH: We will have 3 arrays(key, mst and parent).
Significance of all three arrays:-
-> Key : This array holds the weight/ cost of the MST.
-> MST : This is a boolean array which indicates whether a node is already a part of MST or not.
-> Parent : This indicates the parent of a particular node in the MST(initialized to -1)
STEPS:-
-> Assuming we start with node 0, the index 0 in the key array is initialized to zero(because it is the first node in the MST).
We find the index/node in the key array which has the minimum weight. We then find all its adjacent edges and pickup the the
one with minimum weight.
-> Also at the same time we mark this node as true(indicating that it is now a part of the MST) and also set its parent as node 0.
-> After this, we would continue to find the one with minimum weight in the key array that is not a part of the MST(Notice that
this is where we ensure that we pickup the node with minimum weight and we do not choose an edge that might cause a cycle)
-> We continue this process until all nodes become a part of the MST
*/
#include <bits/stdc++.h>
using namespace std;