परिचय
यह एक C++ प्रोग्राम है जो 2D एरे का उपयोग करके ग्राफ को दर्शाता है।
इस एल्गोरिदम की समय जटिलता O(v*v) है।
एल्गोरिदम
वर्टेक्स 'v' और एज 'e' की संख्या का इनपुट लें। graph[][] मैट्रिक्स को मेमोरी असाइन करें। दिए गए ग्राफ में 'e' वर्टेक्स जोड़े का इनपुट graph[][] में लें। जुड़े हुए प्रत्येक वर्टेक्स जोड़े (v1, v2) के लिए, graph[][] में इंडेक्स (v1, v2) और (v2, v1) पर 1 स्टोर करें। PrintMatrix() का उपयोग करके मैट्रिक्स प्रिंट करें।
उदाहरण कोड
#include <iostream>
#include <iomanip>
using namespace std;
void PrintMatrix(int **matrix, int n) {
int i, j;
cout << "\n\n" << setw(4) << "";
for (i = 0; i < n; i++)
cout << setw(3) << "(" << i+1 << ")";
cout << "\n\n";
for (i = 0; i < n; i++) {
cout << setw(3) << "(" << i+1 << ")";
for (j = 0; j < n; j++) {
cout << setw(4) << matrix[i][j];
}
cout << "\n\n";
}
}
int main() {
int i, v, e, j, v1, v2;
cout << "ग्राफ के वर्टेक्स की संख्या दर्ज करें: ";
cin >> v;
int **graph;
graph = new int*[v];
for (i = 0; i < v; i++) {
graph[i] = new int[v];
for (j = 0; j < v; j++)
graph[i][j] = 0;
}
cout << "\nग्राफ के एज की संख्या दर्ज करें: ";
cin >> e;
for (i = 0; i < e; i++) {
cout << "\nएज " << i+1 << " के लिए वर्टेक्स जोड़ा दर्ज करें";
cout << "\nV(1): ";
cin >> v1;
cout << "V(2): ";
cin >> v2;
graph[v1-1][v2-1] = 1;
graph[v2-1][v1-1] = 1;
}
PrintMatrix(graph, v);
return 0;
}
आउटपुट
ग्राफ के वर्टेक्स की संख्या दर्ज करें: 5 ग्राफ के एज की संख्या दर्ज करें: 4 एज 1 के लिए वर्टेक्स जोड़ा दर्ज करें V(1): 2 V(2): 1 एज 2 के लिए वर्टेक्स जोड़ा दर्ज करें V(1): 3 V(2): 2 एज 3 के लिए वर्टेक्स जोड़ा दर्ज करें V(1): 1 V(2): 1 एज 4 के लिए वर्टेक्स जोड़ा दर्ज करें V(1): 3 V(2): 1 (1) (2) (3) (4) (5) (1) 1 1 1 0 0 (2) 1 0 1 0 0 (3) 1 1 0 0 0 (4) 0 0 0 0 0 (5) 0 0 0 0 0