PR-7 MST
PR-7 MST
Division : A
Subject : DSA
Problem Statement : A … Represent any real world graph using adjacency list /adjacency matrix find
#include<iostream>
class kruskal
} GR;
GR G[20];
public:
void create();
void spanning_tree();
void get_input();
int minimum(int);
};
v2 = parent[v2];
return v2;
parent[j] = i;
else
parent[i] = j;
void kruskal::get_input() {
void kruskal::create() {
int kruskal::minimum(int n) {
small = INFINITY;
pos = -1;
small = G[i].cost;
pos = i;
return pos;
}
void kruskal::spanning_tree() {
int sum;
count = 0;
k = 0;
sum = 0;
parent[i] = i;
pos = minimum(tot_edges);
if (pos == -1)
break;
v1 = G[pos].v1;
v2 = G[pos].v2;
i = find(v1, parent);
j = find(v2, parent);
if (i != j) {
tree[k][0] = v1;
tree[k][1] = v2;
k++;
count++;
sum += G[pos].cost;
un(i, j, parent);
G[pos].cost = INFINITY;
if (count == tot_nodes - 1) {
cout << "cost of spanning tree is: " << sum << endl;
} else {
int main() {
kruskal obj;
obj.get_input();
obj.create();
obj.spanning_tree();
return 0;
OUTPUT :
Problem Statement : A … Represent any real world graph using adjacency list /adjacency matrix find
#include <iostream>
class graph {
int G[20][20], n;
public:
void accept() {
int i, j, e;
cin >> n;
G[i][j] = 0;
cin >> e;
G[src][dest] = cost;
G[dest][src] = cost;
}//========================================================
void display() {
int i, j;
}//===========================================================
void prims() {
int i, j, R[20][20];
int total = 0;
int visited[20];
if (G[i][j] == 0) {
R[i][j] = 999;
} else {
R[i][j] = G[i][j];
}
for (i = 0; i < n; i++) {
visited[i] = 0;
visited[src] = 1;
count = 0;
min = 999;
if (visited[i] == 1) {
if (visited[j] != 1) {
min = R[i][j];
src = i;
dest = j;
cout << "\nEdge from " << src << " to " << dest << "\twith cost: " << min;
visited[dest] = 1;
count++;
}
//=============================================================
};//=============================================================
int main() {
graph g;
g.accept();
g.display();
g.prims();
return 0;
}OUTPUT :