মডিউল ১৩_৬ঃ এডজেসেন্সি ম্যাট্রিক্স টু এডজেসেন্সি লিস্ট
আমরা এখন দেখবো কিভাবে এডজেসেন্সি ম্যাট্রিক্স থেকে এডজেসেন্সি লিস্ট বানানো যায়।

এই গ্রাফ এর ক্ষেত্রেই যদি দেখি তাহলে এর এডজেসেন্সি ম্যাট্রিক্স হবেঃ

এখন লিস্ট বানানোর জন্য আমরা শুধু ছোট একটি কাজ করব। একটি array of vector রাখবো। প্রতি সেল এ যাবো আর যদি সেই সেল এ ১ পাই তাহলে সেই সেল এর সারি নাম্বার ইন্ডেক্সে কলাম নাম্বারকে রেখে দিব। এই ক্ষেত্রে খেয়াল রাখবো যেন সেলটির সারি নাম্বার ও কলাম নাম্বার সেইম না হয়। সেইম হলে সেটা সেলফ নোডকে ইন্ডিকেট করে।

// Some code
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
int mat[n][n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> mat[i][j];
}
}
vector<int> v[n];
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
if (mat[i][j] == 1 && i != j)
{
v[i].push_back(j);
}
}
}
for (int i = 0; i < n; i++)
{
cout << i << " -> ";
for (int child : v[i])
{
cout << child << " ";
}
cout << endl;
}
return 0;
}
Last updated