কম্পিউটার টিউটোরিয়াল

C++ STL-এ প্রায়োরিটি কিউ (Priority Queue)


প্রায়োরিটি কিউ হলো একটি অφηস্ট্রাক্ট ডেটা টাইপ যা প্রায়োরিটাইজড এলিমেন্টের সংগ্রহ সংরক্ষণ করে এবং তাদের প্রায়োরিটি অনুযায়ী ইন্সার্শন এবং ডিলিশন সাপোর্ট করে, অর্থাৎ সর্বোচ্চ প্রায়োরিটivät্তালা এলিমেন্ট যেকোনো সময় মুছে ফেলা যায়। প্রায়োরিটি কিউ স্ট্যাক, কিউ, লিস্টের মতো লিনিয়ার ফ্যাশনে এলিমেন্ট সংরক্ষণ করে না। এটি এলিমেন্টগুলো তাদের প্রায়োরিটি অনুযায়ী সংরক্ষণ করে।

প্রায়োরিটি কিউ নিচের ফাংশনগুলো সাপোর্ট করে -

Size() - প্রায়োরিটি কিউর সাইজ গণনা করতে ব্যবহৃত হয় কারণ এটি উপাদানের সংখ্যা রিটার্ন করে।

Empty() - প্রায়োরিটি কিউ খালি হলে true এবং অন্যথায় false রিটার্ন করে।

Insert(element) - প্রায়োরিটি কিউতে নতুন এলিমেন্ট ইনসার্ট করতে ব্যবহৃত হয়।

Min() - সবচেয়ে ছোট কী ভ্যালুয় এলিমেন্ট রিটার্ন করে এবং প্রায়োরিটি কিউ খালি হলে এরর মেসেজ দেখায়।

removeMin() - min() ফাংশন দ্বারা রেফারেন্সড এলিমেন্ট মুছে ফেলে।

নিচে একটি টেবিল দেওয়া আছে যা প্রায়োরিটি কিউতে অপারেশনের প্রভাব দেখাচ্ছে

C++ STL-এ প্রায়োরিটি কিউ (Priority Queue)

শুরু
ধাপ ১ -> প্রায়োরিটি কিউতে এলিমেন্ট প্রদর্শনের ফাংশন ঘোষণা
    void display(priority_queue  Pq)
    priority_queue  que = Pq ঘোষণা এবং সেট
    লুপ যতক্ষণ (!que.empty())
        que.top() কল
        que.pop() কল
    শেষ
ধাপ ২ -> main()-এ
    priority_queue  Pq অবজেক্ট তৈরি
    push() কল করে এলিমেন্ট ইনসার্ট যেমন Pq.push(1)
    display(Pq) কল
    সাইজ চেক: Pq.size()
    টপ এলিমেন্ট দেখানো: Pq.top()
    এলিমেন্ট মুছে ফেলা: Pq.pop()
    display(Pq) কল
শেষ

উদাহরণ

#include <iostream>
#include <queue>
using namespace std;
void display(priority_queue  Pq) {
    priority_queue  que = Pq;
    while (!que.empty()) {
        cout << '\t' << que.top();
        que.pop();
    }
}
int main () {
    priority_queue  Pq;
    Pq.push(1);
    Pq.push(3);
    Pq.push(5);
    Pq.push(7);
    Pq.push(9);
    cout << "The priority queue is : ";
    display(Pq);
    cout << "\nPrioriy queue size using size() : " << Pq.size();
    cout << "\nFirst element of priority queue using top(): " << Pq.top();
    cout << "\nremoving element using pop() : ";
    Pq.pop();
    display(Pq);
    return 0;
}

আউটপুট

The priority queue is : 9 7 5 3 1
Prioriy queue size using size() : 5
First element of priority queue using top(): 9
removing element using pop() : 7 5 3 1

  1. C/C++-তে প্রায়োরিটি কিউ (Priority Queue) পরিচিতি

  2. ডাবলি লিংকড লিস্ট দিয়ে প্রায়োরিটি কিউ বাস্তবায়ন C++-তে

  3. C++ স্ট্যান্ডার্ড টেমপ্লেট লাইব্রেরি (STL)

  4. C++-এ স্ট্যান্ডার্ড লাইব্রেরি কী?