কম্পিউটার

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


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

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

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

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. ডেটা এবং কাঠামোগত স্বাধীনতা