Struktur Data Heap: Pengertian, Karakteristik, dan Operasinya

 Pengertian Struktur Data Heap

Heap adalah struktur data berbentuk complete binary tree yang memenuhi heap property.


Struktur Data Heap: Pengertian, Karakteristik, dan Operasinya

Complete binary tree sendiri dapat didefinisikan sebagai binary tree di mana semua level terisi penuh, kecuali level terakhir. Semua kunci atau nilai pada level terakhir harus rata kiri apabila tidak terisi penuh.

Karakteristik Struktur Data Heap


Heap memiliki ciri-ciri sebagai berikut:


Sistem menetapkan heap identifier unik untuk setiap heap dalam grup aktivasi. Heap identifier untuk heap default selalu bernilai nol. API bindable manajemen penyimpanan, dipanggil oleh program atau prosedur, menggunakan heap identifier untuk mengidentifikasi heap yang akan digunakan untuk bertindak. API bindable harus dijalankan dalam grup aktivasi yang memiliki heap.

Ukuran heap diperluas secara dinamis untuk memenuhi permintaan alokasi. Ukuran maksimum heap adalah (4GB – 512KB). Ukuran tersebut adalah ukuran heap maksimum jika jumlah total alokasi (pada satu waktu) tidak melebihi 128.000.

Ukuran maksimum alokasi tunggal apa pun dari heap dibatasi hingga (16MB – 64KB).

Operasi-operasi pada Struktur Data Heap

Operasi umum yang terlibat dalam heap di antaranya:


Heapify: Proses untuk mengatur ulang heap untuk mempertahankan properti heap.

Find-max (atau Find-min): Menemukan item maksimum dari max-heap, atau item minimum dari min-heap.

Insertion: Menambahkan item baru di heap.

Deletion: Menghapus item dari heap.

Extract Min-Max: Mengembalikan dan menghapus elemen maksimum atau minimum masing-masing di max-heap dan min-heap.

Heapify


Heapify adalah proses untuk mengatur ulang elemen heap untuk mempertahankan properti heap. Ini dilakukan ketika node tertentu menyebabkan ketidakseimbangan di heap karena beberapa operasi pada node tersebut.


Heapify dapat dilakukan dalam dua metodologi:


up_heapify()

Metodologi heapify yang mengikuti pendekatan bottom-up. Kita akan memeriksa apakah node mengikuti properti heap dengan menuju ke arah rootNode atau tidak. Apabila tidak mengikuti, kita melakukan operasi tertentu agar tree mengikuti properti heap.

down_heapify()

Kebalikan dari up heapify, dimana down heapify mengikuti pendekatan top-down.Kita memeriksa apakah node mengikuti properti heap dengan menuju ke arah node daun. Jika node tidak mengikuti properti heap, kita melakukan operasi tertentu agar tree mengikuti properti heap.

Find-max (atau Find-min)


Elemen maksimum dan elemen minimum di max-heap dan min-heap ditemukan di simpul akar (root node) dari heap.


Insertion

Operasi insertion pada heap mengikuti langkah-langkah berikut


Sisipkan elemen baru 

Komentar

Postingan populer dari blog ini

Algoritma A* (A Star): Pengertian, Cara Kerja, dan Kegunaannya

Struktur Data Graph: Pengertian, Jenis, dan Kegunaannya.

Algoritma Pencarian: Pengertian, Karakteristik, dan Jenis-Jenisnya