HEAP and TRIES

HEAP

Heaps adalah binary tree yang nodenya dapat direpresentasikan dalam sebuah array.

Type of Heap

A. Max Heap
Max yang berarti parentnya lebih besar daripada childnya. Elemen terbesar pada Max Heap terdapat di root tree dan semakin kebawah artinya semakin kecil.


B. Min Heap
Min yang berarti parentnya lebih kecil daripada childnya. Elemen terbesar pada Min Heap terdapat di root tree dan semakin kebawah artinya semakin besar. Heap dapat diimplementasikan menggunakan linked list tapi lebih mudah menggunakan array.


C. Min Max Heap
Ini adalah case unik atau spesial dari heap. Max dan min bergantian pada setiap level. Urutan level dari heap berupa min(dimulai dari root) lalu max lalu min lagi dan seterusnya. Pada bagian min akan selalu ganjil dan max akan selalu genap.


Di dalam heap terdapat 2 metode yaitu insertion dan deletion.

Max Heap Insertion
step 1 : membuat node baru di akhir dari heap
step 2 : memasukkan nilai baru ke node tersebut
step 3 : membandingkan node tersebut dengan parentnya
step 4 : apabila node lebih besar dari parent maka swap node tersebut dengan parentnya
step 5 : ulangi langkah 3 & 4 hingga heap selesai
Contoh:
Max Heap Deletion
step 1 : hapus rootnya
step 2 : pindah element terakhir dari level terakhir untuk menjadi root baru
step 3 : bandingkan child nodenya dengan parentnya
step 4 : apabila nilai parent lebih kecil dari child maka swap mereka
step 5 : ulangi langkah 3 & 4 hingga tuntas

TRIES

Tries ini adalah jenis pohon atau jenis tree yang memiliki banyak nodes yang digunakan untuk mempermudah searching/pencarian. Tries ini sudah diimplementasikan dalam banyak hal salah satu contohnya adalah pada web browser, google, dan lain sebagainya. Program ini dapat mengira atau menebak kata-kata yang akan kita ketik seperti autocomplete.

Contoh dalam google :

Tries ini sendiri berupa tree yang dimana setiap vertex/pathnya menggambarkan suatu kata sehingga tree ini memiliki root yang sangat banyak dan membentuk kata-kata yang berbeda-beda. Rootnya Tries ini tidak memiliki isi atau kosongan.

Contoh:
Pada gambar tersebut, simbol "$" itu biasanya berisi NULL.

Komentar

Postingan populer dari blog ini

AVL Tree

Summary