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

ডেটা স্ট্রাকচারে হিপে ইনসার্শন এবং ডিলিশন

এখানে আমরা দেখব কিভাবে বাইনারি হিপ ডেটা স্ট্রাকচার থেকে এলিমেন্ট ইনসার্ট এবং ডিলিট করা যায়। মনে করুন প্রাথমিক ট্রি নিচের মতো −

ডেটা স্ট্রাকচারে হিপে ইনসার্শন এবং ডিলিশন

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

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

উদাহরণ

মনে করুন আমরা ৩০ হিপে ইনসার্ট করতে চাই −

ডেটা স্ট্রাকচারে হিপে ইনসার্শন এবং ডিলিশন


ডেটা স্ট্রাকচারে হিপে ইনসার্শন এবং ডিলিশন

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

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

উদাহরণ

মনে করুন আমরা ফাইনাল হিপ থেকে ৩০ ডিলিট করতে চাই −

ডেটা স্ট্রাকচারে হিপে ইনসার্শন এবং ডিলিশন

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

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

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

  4. ডেটা এবং স্ট্রাকচারাল স্বাধীনতা