কম্পিউটার টিউটোরিয়াল

C++ প্রোগ্রাম: ২D অ্যারে ব্যবহার করে গ্রাফ রিপ্রেজেন্টেশন


এটি ২D অ্যারে ব্যবহার করে গ্রাফ রিপ্রেজেন্ট করার একটি C++ প্রোগ্রাম।

এই অ্যালগরিদমের টাইম কমপ্লেক্সিটি O(v*v)।

অ্যালগরিদম

শুরু
    ভের্টেক্স 'v' এবং এজ 'e'-এর সংখ্যা ইনপুট নিন।
    graph[][] ম্যাট্রিক্সের জন্য মেমরি অ্যালোকেট করুন।
    দত্তক গ্রাফের 'e' জোড়া ভের্টেক্স ইনপুট নিন graph[][]-এ।
    প্রতিটি সংযুক্ত ভের্টেক্স জোড়া (v1, v2)-এর জন্য, graph[][]-এ ইনডেক্স (v1, v2) এবং (v2, v1)-এ ১ স্টোর করুন।
    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);
}

আউটপুট

গ্রাফের ভের্টেক্স সংখ্যা দিন: 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
  1. C++ প্রোগ্রাম: অ্যাডজেসেন্সি লিস্ট ব্যবহার করে গ্রাফ রিপ্রেজেন্টেশন

  2. C++ প্রোগ্রাম: ইনসিডেন্স ম্যাট্রিক্স ব্যবহার করে গ্রাফ রিপ্রেজেন্টেশন

  3. C++ প্রোগ্রাম: অ্যাডজেসেন্সি ম্যাট্রিক্স ব্যবহার করে গ্রাফ রিপ্রেজেন্টেশন

  4. C++ প্রোগ্রাম: DFS ব্যবহার করে নির্দেশিত গ্রাফের কানেক্টিভিটি যাচাই