Heap & Tries


Heap
Heap adalah data structure tree yang terdiri dari 3 properti heap, yaitu:
1. Min Heap: setiap node memiliki value yang lebih kecil dari childnya (value terkecil di root).
2. Max Heap: setiap node memiliki value yang lebih besar dari childnya (value terbesar di root).
3. Min-Max Heap: terdiri dari level dan setiap level memiliki heap yang berbeda.

Heap biasa direpresentasikan dalam bentuk array sehingga lebih mudah di digunakan. Index array pada heap dimulai dari 1, dan setiap melakukan insert akan dimasukkan ke index paling akhir. Untuk mengetahui index dari parent, left child, dan right child digunakan:

Parent(x) = x/ 2
left-child(x) = 2 * x
right-child(x) = 2 * x + 1

Min Heap
Max Heap Example


Max Heap
Max Heap Example

Min-Max Heap

pada gambar diatas level 0 merupakan min, level 1 max, level 2 min, dan level 3 max. konsep nya sama, yaitu value terkecil berada pada heap min dan terbesar pada heap max.

Insertion
Pada insertion dilakukan mulai dari kiri ke kanan (diisi dari index yang terakhir). kemudian melakukan traverse dengan menukar valuenya, jika min heap maka value parent lebih kecil dari child nya dan sebaliknya pada max heap. 

contoh insertion pada min heap:

HELLO » Data Structures Pertemuan 8

Deletion
Pada deletion key akan digantikan dengan value yang terakhir diinsert (index terakhir). lalu dilakukan traverse seperti pada insert.

contoh deletion pada min heap (delete key = 3):
HELLO » Data Structures Pertemuan 8


Aaplikasi dari heap adalah heap sort dan Djikstra algorithm.

Tries
Tries atau prefix tree adalah data stucture tree yang digunakan untuk menyimpan string yang berurut (dalam karakter).
Data Structures Tutorials - Tries with an example

Implementasi dari tries misalnya pada auto complete web browser, keyboard smartphone, word bubble, dan lain-lain. Dari suatu karakter kita bisa mendapatkan string yang diingkan, misalnya pada contoh diatas jika kita memasukkan karakter B maka akan memunculkan Ball, Bat, dan Be.

Comments

Popular posts from this blog

Linked List II

AVL Tree