Linked list II
HEAPS AND TRIES
Heaps
Heaps adalah struktur data yang berbasis binary tree komplit yang memenuhi properti heap.
- Min heap, dimana nilai parent harus lebih kecil dari nilai children.
- Max heap, dimana nilai parent lebih besar dari nilai children.
- Min max heap, dimana lebih mudah untuk menemukan kondisi heap min level dan max level. Setiap elemen memiliki level ganjil/genap yang lebih kecil dari semua children (MIN level), sedangkan setiap elemen yang memiliki level ganjil/genap lebih besar dari semua children (MAX level).
- Parent(x) = x / 2
- Left-child(x) = 2 * x
- Right-child(x) = 2 * x + 1
Saat sebuah data baru dimasukkan dalam heap, maka data langsung ditempatkan di index terakhir dalam heap itu data di-uheap yang maksudnya data dibandingkan dengan parentnya. Bila lebih kecil, maka swap dengan parentnya dan dilakukan terus menerus sampai lebih besar dari parentnya. Max heap sama dengan Min heap hanya berbeda tanda lebih besar dan lebih kecil saja.
Deletion Jika dalam insertion dipakai Upheap, maka dalam deletion dipakai Downheap. Deletion dalam heap otomatis menghapus node root dari heap. Jadi, delete min dalam min heap dan delete max dalam max heap. Node yang dihapus selalu root karena merupakan note yang paling kecil sehinngga node tersebut langsung di downheap sampai ke posisinya.
Tries
Tries adalah suatu pohon struktur data yang terurut yang menyimpan data array, biasanya string. Kata tries diambil dari kata RETRIEVAL, karena tries dapat menemukan kata tunggal dalam kamus dengan hanya awalan katanya saja.
Tries memiliki 2 property, yaitu :
- root selalu kosong
- setiap node diisi kata awalan
Comments
Post a Comment