CATATAN: Ini untuk orang-orang yang sudah mengetahui cara mengimplementasikan struktur data heap tanpa menggunakan perpustakaan apa pun. Jika tidak, saya sarankan untuk mempelajarinya dan memahami cara kerja internal heap.

Heap adalah struktur data berbasis pohon di mana semua node pohon berada dalam urutan tertentu. Ini pada dasarnya adalah pohon biner lengkap yang memenuhi properti heap seperti min-heap dan max-heap.

Heap digunakan dalam banyak algoritma terkenal seperti Algoritma Dijkstra untuk menemukan jalur terpendek, algoritma pengurutan heap sort, mengimplementasikan antrian prioritas , dan banyak lagi. Pada dasarnya, heaps adalah struktur data yang akan Anda gunakan, ketika Anda ingin mengakses elemen minimum atau maksimum dengan sangat cepat.

  1. Min-heap: Ini adalah properti heap yangelemen induknya adalah yang terkecil di antara anak kiri dan kanannya dan elemen akarnya adalah yang terkecil di antara semua elemen.
  2. Max-heap: Dalam properti ini, elemen induk terbesar di antara turunan kiri dan kanannya, dan elemen root adalah yang terbesar di antara semua elemen.

Perpustakaan untuk mengimplementasikan min-heap dan max-heap:

heapqdengan menggunakan pustaka ini kita dapat menangani operasi yang dilakukan di heap.

heapq.heapify(listForTree)Penggunaan untuk pembuatan min-heap memerlukan daftar sebagai parameter.

heapq._heapify_max(listForTree) Penggunaan untuk pembuatan max-heap dibutuhkan daftar sebagai parameter.

heapq.heappop(minheap) ini digunakan untuk memunculkan elemen dari min-heap, perbedaan antara pop() biasa dan heappop()adalah setelah fungsi heappopproperti heap dari daftar yang diberikan dipertahankan. Ia mengembalikan elemen terkecil yaitu elemen akar pohon.

heapq._heappop_max(maxheap) fungsi pop ini memunculkan elemen root yaitu elemen terbesar di pohon dan setelah fungsi pop, properti heap dipertahankan.

Untuk melihat semua metode yang dapat Anda gunakan dengan heapq, lihat dokumentasi Python di heapq.

Terima kasih sudah membaca!