ম্যাকনিলস পয়েন্ট ছাড়াও ...
লাল-কালো গাছগুলি সম্ভবত আরও সরাসরি কার্যকর কারণ কার্যকর দক্ষ ক্রিয়াকলাপগুলি রয়েছে যা স্ট্যান্ডার্ড লাইব্রেরি বাস্তবায়িত যেমন সি ++ std::map
(কমপক্ষে এএফএইসি) তে সমর্থ নয় । লাল-কালো গাছগুলি "বিভক্ত" (একটি গাছকে দুটি কেটে কাটানো, একটিতে একটি নির্দিষ্ট কী-এর চেয়ে কম কী যুক্ত করে এবং একটিতে কীগুলি বেশি থাকে) এবং "যোগদান" (বিপরীত, ছোট গাছের সাথে বড় চাবি গাছের সংমিশ্রণকে সমর্থন করে) কী) উভয়ই ও (লগ এন) সময়ে করা যেতে পারে, তবে এগুলি যদি স্ট্যান্ডার্ড কনটেইনার লাইব্রেরিতে সমর্থিত হয় তবে এটি একটি গোপন বিষয় হিসাবে মনে হয়।
তবে ডেটা স্ট্রাকচার "বর্ধনশীল" সাধারণ। একটি সহজ উদাহরণ ও (লগ এন) সাবস্ক্রিপশন সমর্থন করার জন্য প্রায় কোনও গাছের ডেটা কাঠামোর নোডগুলিতে নোডগুলিতে আকার-সাবট্রি তথ্য যুক্ত করা হচ্ছে। আরও পরিশীলিত উদাহরণ অন্তর্ভুক্ত গাছ অন্তর্ভুক্ত।
একবার আপনি ডেটা স্ট্রাকচার বৃদ্ধির ধারণাটি পেয়ে গেলে, বিভিন্ন অ্যাপ্লিকেশনগুলির জন্য কার্যকর হতে পারে এমন অনেকগুলি বৈচিত্র রয়েছে - এবং খুব কম লাইব্রেরি হিসাবে প্রাক-প্যাকেজযুক্ত উপলব্ধ। বিদ্যমান স্ট্যান্ডার্ড-লাইব্রেরি ডেটা স্ট্রাকচার (যেমন std::map
:) উত্স কোডটি অনুলিপি করে সরাসরি এটিকে সংশোধন করার পক্ষে সংযোজন করা যায় না - আপনি টেমপ্লেট পরামিতিগুলি ব্যবহার করে এগুলিকে বাড়িয়ে তুলতে পারবেন না।
অবশ্যই একটি বর্ধিত ডেটা কাঠামো বিকাশ করার জন্য আপনাকে অন্তর্নিহিত অ-বৃদ্ধিত ডেটা কাঠামোটি বুঝতে হবে।
সন্নিবেশ / মুছে ফেলার চেয়েও যদি আপনি আরও অনেক বেশি অনুসন্ধান করেন তবে এভিএল গাছগুলি লাল-কালো গাছের চেয়ে দ্রুততর হতে পারে (এবং আপনি যদি বিভক্ত / সংযুক্ত অপারেশনগুলির প্রয়োজন না হন) তবে আবেদনের উপর নির্ভর করে এগুলি খুব ভাল বেস হতে পারে উদ্দীপক।