কম্পিউটার

ডেটা স্ট্রাকচার আদিম অপারেশন স্ট্যাক


স্ট্যাক ফার্স্ট আউট ডেটা স্ট্রাকচারে শেষ। স্ট্যাকটি এক্সপ্রেশন, কল এবং রিকারশন কৌশল ইত্যাদি মূল্যায়নের জন্য বিভিন্ন এলাকায় ব্যবহার করা হয়। স্ট্যাকের কিছু আদিম ক্রিয়াকলাপ রয়েছে। এখানে আমরা স্ট্যাকের সেই ক্রিয়াকলাপগুলি দেখব, এবং স্ট্যাক ADT ব্যবহার করে একটি উদাহরণ দেখব।

ADT (বিমূর্ত ডেটাটাইপ) হল বিশেষ ধরনের ডেটাটাইপ, যার আচরণ মানগুলির একটি সেট এবং ক্রিয়াকলাপের সেট দ্বারা সংজ্ঞায়িত করা হয়। কীওয়ার্ড "বিমূর্ত" ব্যবহার করা হয় কারণ আমরা এই ডেটাটাইপগুলি ব্যবহার করতে পারি, আমরা বিভিন্ন অপারেশন করতে পারি। কিন্তু সেই অপারেশনগুলি কীভাবে কাজ করছে যা ব্যবহারকারীর কাছ থেকে সম্পূর্ণ লুকানো। ADT আদিম ডেটাটাইপ দিয়ে তৈরি, কিন্তু অপারেশন লজিক লুকানো থাকে।

এগুলি স্ট্যাক ADT-এর কয়েকটি অপারেশন বা ফাংশন।

  • isFull(), এটি স্ট্যাক পূর্ণ কিনা তা পরীক্ষা করতে ব্যবহৃত হয়
  • isEmpry(), স্ট্যাক খালি আছে কিনা তা পরীক্ষা করতে এটি ব্যবহার করা হয়
  • পুশ(x), এটি x কে স্ট্যাকের মধ্যে পুশ করতে ব্যবহৃত হয়
  • pop(), এটি স্ট্যাকের উপরে থেকে একটি উপাদান মুছে ফেলার জন্য ব্যবহৃত হয়
  • পিক(), এটি স্ট্যাকের শীর্ষস্থানীয় উপাদান পেতে ব্যবহৃত হয়
  • size(), এই ফাংশনটি স্ট্যাকে উপস্থিত উপাদানের সংখ্যা পেতে ব্যবহৃত হয়

উদাহরণ

#include<iostream>
#include<stack>
using namespace std;
main(){
   stack<int> stk;
   if(stk.empty()){
      cout << "Stack is empty" << endl;
   } else {
      cout << "Stack is not empty" << endl;
   }
   //insert elements into stack
   stk.push(10);
   stk.push(20);
   stk.push(30);
   stk.push(40);
   stk.push(50);
   cout << "Size of the stack: " << stk.size() << endl;
   //pop and dispay elements
   while(!stk.empty()) {
      int item = stk.top(); // same as peek operation
      stk.pop();
      cout << item << " ";
   }
}

আউটপুট

Stack is empty
Size of the stack: 5
50 40 30 20 10

  1. করেসপন্ডেন্স ভিত্তিক ডেটা স্ট্রাকচার

  2. ডেটা স্ট্রাকচারে ন্যূনতম স্প্যানিং ট্রি

  3. ডাটা স্ট্রাকচারে বাইনারি ট্রি রিপ্রেজেন্টেশন

  4. ডেটা স্ট্রাকচারে পরিমার্জিত সময়ের জটিলতা