Uploaded by User109583

205150300111057 SelviaSyazwana Tugas13

advertisement
TUGAS GRAPH
1. Gambarkan graph dari representasi Matrik berikut:
Jawab :
2. Representasikan dengan adjacency list & adjacency matrix
Jawab :
a. Adjacency matriks
Dari\Ke
A
A
B
0
C
0
D
0
E
0
F
1
G
1
b. Adjacency list
B
1
0
0
1
0
0
C
0
1
0
0
0
0
D
0
1
1
0
0
0
E
1
0
0
1
0
0
F
0
0
0
0
1
0
G
0
0
0
0
0
1
-
3. Buatlah sebuah program Weighted Graph yang dapat menampilkan keterangan hubungan edge
antara tiap node beserta weight nya, dari input yang telah dimasukkan sebelumnya! (tidak ada
ketentuan lain, silahkan gunakan kreativitas kalian)
Source Code Program Weighted Graph
#include <bits/stdc++.h>
using namespace std;
void addEdge(vector <pair<int, int> > adj[], int u,
int v, int wt)
{
adj[u].push_back(make_pair(v, wt));
adj[v].push_back(make_pair(u, wt));
}
void printGraph(vector<pair<int,int> > adj[], int V)
{
int v, w;
for (int u = 0; u < V; u++)
{
cout << "Node " << u << " makes an edge with \n";
for (auto it = adj[u].begin(); it!=adj[u].end(); it++)
{
v = it->first;
w = it->second;
cout << "\tNode " << v << " with edge weight ="
<< w << "\n";
}
cout << "\n";
}
}
int main()
{
int V = 5;
vector<pair<int, int> > adj[V];
addEdge(adj, 0, 1, 10);
addEdge(adj, 0, 4, 20);
addEdge(adj, 1, 2, 30);
addEdge(adj, 1, 3, 40);
addEdge(adj, 1, 4, 50);
addEdge(adj, 2, 3, 60);
addEdge(adj, 3, 4, 70);
printGraph(adj, V);
return 0;
}
Download