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

ডাটা স্ট্রাকচারে হিপসে সন্নিবেশ এবং মুছে ফেলা


এখানে আমরা দেখব কিভাবে বাইনারি হিপ ডেটা স্ট্রাকচার থেকে উপাদান সন্নিবেশ করা যায় এবং মুছে ফেলা যায়। ধরুন প্রাথমিক গাছটি নিচের মত -

ডাটা স্ট্রাকচারে হিপসে সন্নিবেশ এবং মুছে ফেলা

সন্নিবেশ অ্যালগরিদম

insert(heap, n, item):
Begin
   if heap is full, then exit
   else
      n := n + 1
      for i := n, i > 1, set i := i / 2 in each iteration, do
         if item <= heap[i/2], then break
         heap[i] = heap[i/2]
      done
   end if
   heap[i] := item
End

উদাহরণ

ধরুন আমরা হিপে −

30 সন্নিবেশ করতে চাই

ডাটা স্ট্রাকচারে হিপসে সন্নিবেশ এবং মুছে ফেলা


ডাটা স্ট্রাকচারে হিপসে সন্নিবেশ এবং মুছে ফেলা

মোছার অ্যালগরিদম

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. ডেটা স্ট্রাকচারে বি-ট্রি মুছে ফেলা

  2. ডেটা স্ট্রাকচারে বি-ট্রি সন্নিবেশ

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

  4. ডেটা এবং কাঠামোগত স্বাধীনতা