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

C++ প্রোগ্রাম: ইনসিডেন্স লিস্ট (Incidence List) ব্যবহার করে গ্রাফ রিপ্রেজেন্টেশন


এই প্রোগ্রাম ইনসিডেন্স লিস্ট (Incidence List) ব্যবহার করে গ্রাফ রিপ্রেজেন্ট করে এবং এই অ্যালগরিদমের টাইম কমপ্লেক্সিটি O(e)।

অ্যালগরিদম

শুরু
    ভের্টেক্স 'v' এবং এজ 'e'-এর সংখ্যা ইনপুট নিন এবং 'e' জোড়া ভের্টেক্স ইনপুট নিন e[][]-এ।
    প্রতিটি এজের জন্য সেই কানেকশনে জড়িত ভের্টেক্সগুলো প্রিন্ট করুন।
শেষ

উদাহরণ কোড

#include <iostream>
using namespace std;

int main() {
    int i, v, e, j, c;
    cout << "গ্রাফের ভের্টেক্স সংখ্যা দিন: ";
    cin >> v;
    cout << "\nগ্রাফের এজ সংখ্যা দিন: ";
    cin >> e;
    int edge[e][2];
    for(i = 0; i < e; i++) {
        cout << "\nএজ " << i+1 << " এর জন্য ভের্টেক্স জোড়া দিন";
        cout << "\nV(1): ";
        cin >> edge[i][0];
        cout << "V(2): ";
        cin >> edge[i][1];
    }
    cout << "\n\nদত্তক গ্রাফের ইনসিডেন্স লিস্ট রিপ্রেজেন্টেশন: ";
    for(i = 0; i < e; i++) {
        cout << "\n\tE(" << i+1 << ") -> { ";
        cout << "V(" << edge[i][0] << ") , " << "V(" << edge[i][1] << ")";
        cout << " }";
    }
}

আউটপুট

গ্রাফের ভের্টেক্স সংখ্যা দিন: 3
গ্রাফের এজ সংখ্যা দিন: 4
এজ 1 এর জন্য ভের্টেক্স জোড়া দিন
V(1): 2
V(2): 1
এজ 2 এর জন্য ভের্টেক্স জোড়া দিন
V(1): 1
V(2): 2
এজ 3 এর জন্য ভের্টেক্স জোড়া দিন
V(1): 3
V(2): 2
এজ 4 এর জন্য ভের্টেক্স জোড়া দিন
V(1): 2
V(2): 3
দত্তক গ্রাফের ইনসিডেন্স লিস্ট রিপ্রেজেন্টেশন:
E(1) -> { V(2) , V(1) }
E(2) -> { V(1) , V(2) }
E(3) -> { V(3) , V(2) }
E(4) -> { V(2) , V(3) }
  1. C++ প্রোগ্রাম: অ্যাডজেসেন্সি লিস্ট ব্যবহার করে গ্রাফ রিপ্রেজেন্টেশন

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

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

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