15. Graphs Introduction
📘 কনসেপ্ট (থিওরি)
একটি গ্রাফ (Graph) হলো একটি নন-লিনিয়ার ডেটা স্ট্রাকচার যা নোড (যাদের ভার্টিসেসও বলা হয়) এবং এজ (Edges) নিয়ে গঠিত।
গ্রাফগুলো সোশ্যাল নেটওয়ার্ক, শহরের মানচিত্র বা ইন্টারনেটের মতো নেটওয়ার্কগুলোকে উপস্থাপন করতে ব্যবহৃত হয়।
- **ডাইরেক্টেড গ্রাফ (Directed Graph)**: এজগুলোর একটি দিক (direction) থাকে (A -> B)।
- **আনডাইরেক্টেড গ্রাফ (Undirected Graph)**: এজগুলোর কোনো দিক থাকে না (A <-> B)।
গ্রাফগুলোতে ট্রাভার্স (traverse) করার জন্য BFS (Breadth-First Search) এবং DFS (Depth-First Search) এর মতো অ্যালগরিদম ব্যবহৃত হয়।
💡 উদাহরণ
অ্যাডজাসেন্সি লিস্ট (Adjacency List) ব্যবহার করে একটি গ্রাফ উপস্থাপন করা:
const graph = {
'A': ['B', 'C'],
'B': ['A', 'D'],
'C': ['A'],
'D': ['B']
};
🎯 আপনার কাজ (প্র্যাকটিস)
এমন একটি আনডাইরেক্টেড গ্রাফের জন্য একটি অ্যাডজাসেন্সি লিস্ট তৈরি করুন যেখানে ১ নম্বর নোডটি ২ এবং ৩ এর সাথে যুক্ত, ২ নম্বর নোড ১ এর সাথে যুক্ত এবং ৩ নম্বর নোড ১ এর সাথে যুক্ত।
main.dsa
Loading...
OUTPUT
Run your code to see the output here...