Data Structure কী?

যখন তুমি ডেটাকে একটি সংগঠিত উপায়ে সংরক্ষণ করো, তখন সেটিকে ডাটা স্ট্রাকচার বলা হয়।

ডাটা স্ট্রাকচার তোমাকে ডেটা সংরক্ষণ, প্রক্রিয়া করা এবং দক্ষতার সাথে ব্যবহার করতে সাহায্য করে। এটি ডেটা ম্যানেজমেন্টকে সহজ এবং কার্যকর করে তোলে।

ডাটা স্ট্রাকচারের তিনটি বৈশিষ্ট্য রয়েছে :

  1. একটির বেশি ডাটা সংরক্ষণ করা যায়।
  2. ডাটা সংরক্ষণ করার নির্দিষ্ট স্ট্রাকচার(Structure) থাকে।
  3. নতুন ডাটা যোগ(Add) করার বা মুছে(Remove) ফেলার নির্দিষ্ট নিয়ম থাকে।

list এর কথা মনে আছে, একটি লিস্টের মধ্যে আমরা অনেকগুলো ডাটা রাখতে পারি, ডাটাগুলো স্টোর করার একটি নির্দিষ্ট স্ট্রাকচার রয়েছে। নতুন ডাটা add-remove এগুলোও করা যায়।

heroes = ['Jhankar Mahbub', 'Eshan Ahmed', 'Hero Alom']
heroes.append('Tutul')
heroes.remove('Hero Alom')
print(heroes)

এই কারণে List/Array হচ্ছে একটি Data Structure।

Stack

এখন শীতকাল আমার অনেক ঠান্ডা লাগে। তাই আমি তিন-চারটা জামা পড়ি। প্রথমে আমি পড়ি একটা একটা পাতলা টি-শার্ট, তারপর একটা মোটা টি-শার্ট, এরপর হুডি। এইভাবে আমি পোশাকের একটি Stack(গাদা বা স্তূপ) তৈরি করি। অর্থাৎ একটি জিনিসের উপর অন্য আরেকটি জিনিস রাখার নাম-ই হলো Stack।

অন্যভাবে বলি, নিচের ছবিটি দেখ:

এখানে একটির উপর আরেকটি থালা রেখে গাদা বা Stack তৈরি করা হয়েছে। এখন এই থালাগুলো যদি ধুতে নিয়ে যাই, তাহলে আমি অবশ্যই সবার শেষে যে থালাটি রেখেছি, সেটি আগে সরিয়ে নিব। এটি Stack এর একটি বৈশিষ্ট্য। এই বৈশিষ্ট্যকে বলা হয়, Last In First Out, সংক্ষেপে LIFO.