কম্পিউটার

ডেটা স্ট্রাকচারে B+ ট্রি কোয়েরি


এখানে আমরা দেখব, কিভাবে B+ Tree-এ সার্চিং করতে হয়। B+ ট্রি অনুসন্ধানকে B+ ট্রি অনুসন্ধান নামেও পরিচিত। এই অ্যালগরিদমটি বি-ট্রির অনুসন্ধানের সাথে অনেকটাই মিল। অধিকন্তু, এটি পরিসীমা ক্যোয়ারী সমর্থন করে। ধরুন আমাদের নিচের মত একটি B+ গাছ আছে -

B+ গাছের উদাহরণ

ডেটা স্ট্রাকচারে B+ ট্রি কোয়েরি

অনুসন্ধানের কৌশলটি বাইনারি অনুসন্ধান গাছের অনুরূপ। ধরুন আমরা উপরের গাছ থেকে 63 সার্চ করতে চাই। সুতরাং আমরা রুট থেকে শুরু করব, এখন 63 মূল উপাদান 60 এর চেয়ে বড় কিন্তু 75 এর থেকে ছোট। তাই আমরা 60 মৌলের ডান চাইল্ডে চলে যাব। ডান শিশুটি 63। কিন্তু যদি আমরা B Tree ব্যবহার করি, তাহলে সেটা হবে ফলাফল. এই ক্ষেত্রে বর্তমান নোডটি অভ্যন্তরীণ নোড, তাহলে এটি একটি প্রকৃত তথ্য নয়। আমাদের প্রথমে সঠিক সন্তানের কাছে যেতে হবে। এবং পাতার স্তরে, আমরা রেকর্ড হিসাবে 63 খুঁজে পেতে পারি। এটাই হবে প্রকৃত ফলাফল।

আমরা যদি 63 থেকে 78 পর্যন্ত সমস্ত উপাদান অনুসন্ধান করতে চাই, তাহলে আমাদের প্রতিটি উপাদানকে একের পর এক ব্যাকট্র্যাক করার দরকার নেই। আমরা প্রাথমিক মানের লিফ নোড খুঁজে পাই, তারপরে লিঙ্ক করা লিফ নোড ব্যবহার করে, 78-এর আগে সব নোড খুঁজে বের করি। তাই এটি রেঞ্জ কোয়েরি সমর্থন করে।

আসুন B-Tree-এর ভিতরে উপাদান অনুসন্ধান করার অ্যালগরিদম দেখি।

অ্যালগরিদম

BPlusTreeSearch(root, key) -

ইনপুট ৷ − গাছের মূল, এবং খোঁজার চাবি

আউটপুট৷ − কী সহ নোডের মান, যদি এটি উপস্থিত না থাকে, তাহলে শূন্য দিন

Apply binary search on records
if record with the ‘key’ is found, then
   return required record
else if current node is leaf node, and key is not found, then
   return null

  1. ডাটা স্ট্রাকচারে বাইনারি ট্রি এডিটি

  2. ডেটা স্ট্রাকচারে BSP গাছ

  3. ডেটা স্ট্রাকচারে গাছের পরিসর

  4. ডাটা স্ট্রাকচারে ভার্চুয়াল ট্রিতে খেলা