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

ডেটা স্ট্রাকচরে B+ ট্রি ইন্সারশন


এখানে আমরা দেখব, B+ ট্রিতে ইন্সারশন কিভাবে করা যায়। ধরি আমাদের নিচের মতো একটি B+ ট্রি আছে −

B+ ট্রির উদাহরণ −

ডেটা স্ট্রাকচরে B+ ট্রি ইন্সারশন

একটি উপাদান ইন্সার্ট করার ধারণা B-ট্রির সাথে খুব মিলতুল্য, যদি একটি উপাদান ইন্সার্ট করা হয়, তবে সেটি লিফ নোডে সংরক্ষিত হবে। যদি সেটি কোনো ইন্টারনাল নোডে থাকে, তবে সেটি লিফেও থাকবে তার ডান চাইল্ড হিসেবে।

ধরি আমরা ট্রিতে 65 ইন্সার্ট করতে চাই। সেটি 60-র চেয়ে বড় এবং 75-র চেয়ে ছোট। তাহলে সেটি মাঝখান সাব-ট্রিতে ইন্সার্ট হবে। এখন, 65, 63-এর পর নোডে ইন্সার্ট হবে, তারপর সেই নোড দুটি অংশে ভাগ হবে, 65 উপরে যাবে, এবং 65 তার ডান নোডেও থাকবে।

65 ইন্সার্ট করার পর B+ ট্রি।

ডেটা স্ট্রাকচরে B+ ট্রি ইন্সারশন

অ্যালগরিদম

BPlusTreeInsert(root, key) −

ইনপুট − ট্রির রুট, এবং ইন্সার্ট করার কী

আমরা অনুমান করব, কীটি লিস্টে উপস্থিত নেই
রুট নোড থেকে শুরু করুন, কী হিসেবে 'key' exact match করুন যতক্ষণ না লিফ নোড। সার্চ পথ হবে x1, x2, … , xh। x1 প্রথম নোড অর্থাৎ রুট, তারপর xh লিফ নোড। প্রতিটি নোড xi হল xi+1-এর পেরেন্ট
'key' কী এবং v ভ্যালু সহ নতুন অবজেক্টটি xh-এ ইন্সার্ট করুন।
i := h
while xi overflows, do
  divide xi into two nodes, by moving the larger half of the keys into a new node p.
  if xi is leaf node, link p into the linked list among leaf nodes.
  identify a key k, to be inserted into the parent level along with child pointer pointing p.
  The choice of k depends on the type of the node xi. If xi is leaf node, we will perform
  copy up. So smallest key in p, is copied as k to the parent level. On the other hand, if xi is
  non-leaf node, then we will perform push up. So smallest key in p, will be copied into k,
  in the parent node.
  if i = 0, then
    create a new index node as the new root. In the new root store node with key k,
    and two child xi and p.
    return
  else
    insert a key k and a child pointer pointing to p, into node xi-1.
    i := i – 1
  end if
done

  1. ডেটা স্ট্রাকচরে B-ট্রি ইন্সারশন

  2. ডেটা স্ট্রাকচরে ইন্টারভাল হিপ

  3. ডেটা স্ট্রাকচারে বাইনারি ট্রি ADT

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