এই প্রোগ্রাম ইনসিডেন্স লিস্ট (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) }