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

g++-এ পলিসি-বেসড ডেটা স্ট্রাকচার (Policy-based data structures)


g++ কম্পাইলার হলো Linux-এ GNU-এর জন্য একটি C++ কম্পাইলার।

g++ কম্পাইলার C++ প্রোগ্রামিং ল্যাঙ্গুয়েজের স্ট্যান্ডার্ড লাইব্রেরিয়ে না থাকা কিছু বিশেষ ডেটা স্ট্রাকচারের সাপোর্ট যোগ করে। এগুলাকে পলিসি-বেসড ডেটা স্ট্রাকচার বলা হয়।

পলিসি-বেসড ডেটা স্ট্রাকচার প্রোগ্রামারকে C++ std লাইব্রেরির স্ট্যান্ডার্ড ডেটা স্ট্রাকচারের চেয়ে উচ্চ পারফরম্যান্স, সিম্যান্টিক সেফটি এবং:flexibility দেয়।

এই ডেটা স্ট্রাকচারগুলো প্রোগ্রামে যোগ করতে নিচের লাইনগুলো যোগ করতে হয়:

#include <ext/pb_ds/assoc_container.hpp> 
using namespace __gnu_pbds;

উদাহরণ

এই পলিসি-বেসড ডেটা স্ট্রাকচার কীভাবে কাজ করে তা দেখতে একটি প্রোগ্রাম:

#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp> 
#include <functional> 
#include <iostream> 
using namespace __gnu_pbds; 
using namespace std; 

typedef tree, rb_tree_tag, tree_order_statistics_node_update> new_data_set; 

int main() {
    new_data_set data;
    data.insert(34);
    data.insert(785);
    data.insert(12);
    data.insert(87);
    cout << "The value at index 2 is " << *data.find_by_order(2) << endl;
    cout << "The index of number 87 is " << data.order_of_key(87) << endl;
    return 0;
}

আউটপুট

The value at index 2 is 785
The index of number 87 is 4

এই ডেটা স্ট্রাকচারগুলো এতটাই বহুমুখী যে আপনি এলিমেন্টের ইনডেক্স চেক করা, ইনডেক্সে এলিমেন্ট খুঁজে বের করা ইত্যাদি অনেক ফাংশন ব্যবহার করতে পারেন।


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

  2. ডেটা স্ট্রাকচারে অ্যাডজেসেন্সি লিস্ট

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

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