• সঠিক উত্তর: খ) Stack.
Stack একটি ডেটা স্ট্রাকচার যা Last In, First Out (LIFO) নীতিতে কাজ করে। অর্থাৎ, যেটি সর্বশেষে যোগ করা হয়, সেটিই প্রথমে সরানো হয়। এটি অনেকটা প্লেটের স্ট্যাকের মতো — যেটি উপরে থাকে সেটি প্রথমে তোলা যায়। Stack-এ দুটি প্রধান অপারেশন আছে: push() (নতুন উপাদান যোগ করা) এবং pop() (সর্বশেষ উপাদান সরানো)। প্রোগ্রামিংয়ে Stack ব্যবহার হয় ফাংশন কল ম্যানেজ করতে, undo অপারেশন করতে, অথবা expression evaluation-এর মতো কাজেও। অন্যদিকে, Queue ব্যবহার করে First In, First Out (FIFO) নীতি, Hash table ডেটা স্টোর করে key-value আকারে, আর Array হলো নির্দিষ্ট আকারের সাধারণ ডেটা সংগ্রহ।
• বিস্তারিত অপশন আলোচনা:
ক) Queue:
- Queue হলো First In, First Out (FIFO) ডেটা স্ট্রাকচার। মানে, যেটা আগে ঢোকানো হয়েছে সেটাই আগে বের হয়।
- উদাহরণ: যেভাবে লাইনে মানুষ দাঁড়ায়, আগে আসা আগে সার্ভিস পায়।
খ) Stack:
- Stack হলো Last In, First Out (LIFO) ডেটা স্ট্রাকচার। অর্থাৎ, শেষ যে আইটেম ঢোকানো হয়েছে সেটাই প্রথম বের হয়।
- উদাহরণ: প্লেটের পাইল, সর্বশেষ প্লেটটি প্রথমে তুলে নেওয়া হয়।
গ) Hash table:
- Hash table হলো একটি ডেটা স্টোরেজ পদ্ধতি যেখানে কী-ভ্যালু পেয়ার সংরক্ষণ করা হয়। এর মধ্যে কোন LIFO বা FIFO নিয়ম থাকে না।
ঘ) Array:
- Array হলো ধারাবাহিক মেমোরি ব্লকে ডেটা সংরক্ষণের জন্য ব্যবহৃত ডেটা স্ট্রাকচার। এখানে ডেটার প্রবেশ বা প্রস্থান LIFO বা FIFO নীতির উপর নির্ভর করে না।
- Stack ডেটা স্ট্রাকচার LIFO নীতি অনুসরণ করে, অর্থাৎ "শেষে যেটা ঢোকানো হয়েছে সেটাই প্রথম বের হবে"।
সূত্র: geeksforgeeks [লিংক]