Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- KruskalMST(EdgeWeightedGraph G){
- priority_queue<Edge> pq;
- vector<Edge> e = G.edges(); // liefert alle Kanten von G
- for (int i = 0; i < e.size(); i++) pq.push(e[i]);
- for (int i = 0; i < G.V(); i++) marked[i] = i;
- while (!pq.isEmpty()) {
- Edge e = pq.top();
- pq.pop();
- int v = e.either(); int w = e.other(); // nodes connecting with the edge
- if (marked[v] != marked[w]) {
- mst.push(e);
- for (int i = 0; i<G.V(); i++){
- if (marked[i] == marked[w])
- marked[i] = marked[v];
- }
- }
- }
Add Comment
Please, Sign In to add comment