গ্রাফ একটি নন-লিনিয়ার ডেটা স্ট্রাকচার। এটি নোড ব্যবহার করে ডেটা এবং প্রান্তগুলি ব্যবহার করে তাদের সম্পর্ক উপস্থাপন করে। একটি গ্রাফ G এর দুটি বিভাগ রয়েছে। শীর্ষবিন্দু, এবং প্রান্ত. শীর্ষবিন্দুগুলি সেট V ব্যবহার করে উপস্থাপন করা হয়, এবং প্রান্তগুলিকে সেট E হিসাবে উপস্থাপন করা হয়। তাই গ্রাফ স্বরলিপি হল G(V,E)। আসুন ধারণা পেতে একটি উদাহরণ দেখি।
এই গ্রাফে, পাঁচটি শীর্ষবিন্দু এবং পাঁচটি প্রান্ত রয়েছে। প্রান্ত নির্দেশিত হয়. উদাহরণ স্বরূপ, যদি আমরা প্রান্ত সংযোগকারী শীর্ষবিন্দু B এবং D নির্বাচন করি, উৎস শীর্ষবিন্দু B এবং গন্তব্য হল D। তাই আমরা B থেকে D তে যেতে পারি কিন্তু D থেকে B তে যেতে পারি না।
গ্রাফগুলি অ-রৈখিক, এবং এটির কোন নিয়মিত কাঠামো নেই। মেমরিতে একটি গ্রাফ উপস্থাপন করতে, কয়েকটি ভিন্ন শৈলী রয়েছে। এই শৈলী হল −
- সংলগ্ন ম্যাট্রিক্স প্রতিনিধিত্ব
- এজ তালিকা উপস্থাপনা
- সংলগ্ন তালিকা প্রতিনিধিত্ব
এখানে আমরা সংলগ্ন তালিকার উপস্থাপনা দেখব −
সংলগ্ন তালিকা প্রতিনিধিত্ব
এই উপস্থাপনাকে সন্নিহিত তালিকা বলা হয়। এই উপস্থাপনা লিঙ্ক করা তালিকার উপর ভিত্তি করে। এই পদ্ধতিতে, প্রতিটি নোড নোডগুলির একটি তালিকা ধারণ করে, যা সরাসরি সেই শীর্ষবিন্দুগুলির সাথে সংযুক্ত। তালিকার শেষে, প্রতিটি নোড নাল মানগুলির সাথে সংযুক্ত থাকে যাতে বলা হয় যে এটি সেই তালিকার শেষ নোড।