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

ডেটা স্ট্রাকচারে ম্যাক্স হিপ থেকে ডিলিশন


এখানে আমরা বাইনারি ম্যাক্স হিপ ডেটা স্ট্রাকচার থেকে উপাদান ডিলিট করার পদ্ধতি দেখব। ধরি প্রাথমিক ট্রি নিচের মতো:

ডেটা স্ট্রাকচারে ম্যাক্স হিপ থেকে ডিলিশন

ডিলিশন অ্যালগরিদম

delete(heap, n) − Begin
  if heap is empty, then exit
  else
    item := heap[1]
    last := heap[n]
    n := n – 1
    for i := 1, j := 2, j <= n, set i := j and j := j * 2, do
      if j < n, then
        if heap[j] < heap[j + 1], then j := j + 1
      end if
      if last >= heap[j], then break
      heap[i] := heap[j]
    done
  end if
  heap[i] := last
End

উদাহরণ

ধরি আমরা ফাইনাল হিপ থেকে 30 ডিলিট করতে চাই:

ডেটা স্ট্রাকচারে ম্যাক্স হিপ থেকে ডিলিশন


  1. ডেটা স্ট্রাকচরে দুটি ম্যাক্স HBLT মেল্ড করা

  2. ডেটা স্ট্রাকচরে B+ ট্রি ডিলিশন

  3. ডেটা স্ট্রাকচরে B-ট্রি ডিলিশন

  4. হাফ-এজ ডেটা স্ট্রাকচার