Linked list II

HEAPS AND TRIES

Heaps

Heaps adalah struktur data yang berbasis binary tree komplit yang memenuhi properti heap.
  1. Min heap, dimana nilai parent harus lebih kecil dari nilai children.
  2. Max heap, dimana nilai parent lebih besar dari nilai children. 
  3. 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).
Implementasi Heap menggunakan array yang dimulai dari indeks ke 1. Setiap hubungan node dengan parent, left child, dan right child dalam implementasi array dapat dihitung dengan mudah melalui rumus umum berikut:
  • Parent(x)  = x / 2
  • Left-child(x)  = 2 * x  
  • Right-child(x)  = 2 * x + 1

Insertion 
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
contoh gambarannya : 
















Comments

Popular posts from this blog

AVL TREE

Linked List II

Binary Search Tree