> For the complete documentation index, see [llms.txt](https://phitron.gitbook.io/algorithm/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://phitron.gitbook.io/algorithm/undefined/_-2.md).

# মডিউল ১৩\_২ঃ এডজেসেন্সি লিস্ট ও এজ লিস্ট

## অ্যাডজাসেন্সি লিস্ট

অ্যাডজাসেন্সি লিস্টটি আমরা ইমপ্লিমেন্ট করি একটি array of vector দিয়ে।&#x20;

এখন array of vector নিয়ে বিস্তারিত আলোচনা করছি। Array of vector সম্পর্কে জানার আগে array of int বিষয়টি একটু জেনে নি।\
&#x20;\
Array of int আমরা এইভাবে declare করে থাকি, \
**int arr\[5];**\
তাহলে উপরে statement এর ফলে ৫ সাইজের একটি array declare হবে, যেইটির প্রতিটি  index এআমরা int types এর data রাখতে পারবো।&#x20;

<figure><img src="/files/OrBgsHCyuBTKHsk4xRqq" alt=""><figcaption></figcaption></figure>

Array of vector কে আমরা এইভাবে declare করে থাকি, \
**vector\<int> arr\[5];**\
তাহলে উপরে statement এর ফলে ৫ সাইজের একটি array declare হবে, যেইটির প্রতিটি index এ আমরা একটি করে vector রাখতে পারবো।&#x20;

<figure><img src="/files/6lfDnX1R0geU1BzjK6ix" alt=""><figcaption></figcaption></figure>

#### গ্রাফের ইনপুট

**6 6**\ <mark style="color:blue;">0 1</mark>\ <mark style="color:blue;">1 5</mark>\ <mark style="color:blue;">0 4</mark>\ <mark style="color:blue;">0 3</mark>\ <mark style="color:blue;">3 4</mark>\ <mark style="color:blue;">2 4</mark> \
এইখানে গ্রাফের প্রথমে ইনপুট নেয়া N ( Number of nodes ) এবং E ( Number of edges ) উপরের ইনপুটে N=6 এবং E=6 , এই এরপরই E বার ইনপুট নিয়া হয়েছে কোন নোড কোন নোডের সাথে connection আছে।

<figure><img src="/files/bNDpwEucxA4DaL2wbYD1" alt="" width="336"><figcaption></figcaption></figure>

উপরের দেয়া ইনপুটে আমরা দেখতেছি, \
0 নোড 1 , 3 , 4 নোডের সাথে connected.\
1 নোড 0, 5 নোডের সাথে connected.\
2 নোড 4 নোডের সাথে connected.\
3 নোড 0, 4 নোডের সাথে connected.\
4 নোড 0, 3, 2 নোডের সাথে connected. \
5 নোড 1 নোডের সাথে connected.\
\
এখন আমরা এই গ্রাফের ইনপুটকে অ্যাডজাসেন্সি লিস্ট এর মধ্যে রাখতে array of vector টি এইরকম হবে।<br>

<figure><img src="/files/iObrHej28F3NWHo7169E" alt=""><figcaption></figcaption></figure>

এইভাবে আমরা অ্যাডজাসেন্সি লিস্টটি ইমপ্লিমেন্ট করতে পারি array of vector দিয়ে।

## Edge লিস্ট

Edge লিস্ট হচ্ছে এমন একটি লিস্ট যেখানে কোন একটা গ্রাফের edge গুলো রাখা হয়।&#x20;

## গ্রাফের ইনপুট

**6 6**\ <mark style="color:blue;">0 1</mark>\ <mark style="color:blue;">1 5</mark>\ <mark style="color:blue;">0 4</mark>\ <mark style="color:blue;">0 3</mark>\ <mark style="color:blue;">3 4</mark>\ <mark style="color:blue;">2 4</mark>&#x20;

উপরের দেয়া গ্রাফের ইনপুটে গ্রাফের edge (0, 1), (1, 5), (0, 4), (0, 3), (3, 4), (2, 4) আছে, এই edge গুলোকে আমরা কোন একটি লিস্টের মধ্যে রাখবো সেইটিই হচ্ছে edge list।&#x20;

প্রতিটি edge ২টি নোড দেয়া থাকে। এই প্রতিটি edge এর নোড ২টিকে দিয়ে আমরা একটি pair\<int, int> বানিয়ে, সেই pair\<int,int> টিকে কোন একটা লিস্টের মধ্যে রাখলে লিস্টটিতে নিচে দেখানো চিত্রের মত edge থাকবে।&#x20;

<figure><img src="/files/G96ul3BA99Vgq8lwvXe1" alt=""><figcaption></figcaption></figure>

##
