Skip to main content

Heap & Tries

Heap & Tries

Heap

heap adalah struktur data yang bisa dibilang sama atau mirip dengan Binary Search Tree (BST), namun bedanya adalah heap merupakan Complete Binary Tree yang memiliki persyaratannya sendiri. Heap dibagi menjadi 3 yaitu :

  • Min Heap 
  • Max Heap
  • Min-Max Heap
1. Min Heap

Setiap node dalam Min Heap lebih kecil dari masing-masing child nya dan root merupakan node paling kecil.


Insertion : 

  • Insert Node baru
  • Check parent
  • Jika nilai node baru tersebut lebih kecil dibandingkan parent, tukar posisinya dengan parent.


Deletion : 

  • Yang dihapus merupakan rootnya (elemen terkecil).
  • Root yang dihapus tersebut kemudian digantikan oleh data terakhir di nodenya, kemudian data tersebut di downheapmin(jika anak < data tsb, maka tukar,dst sampai mentok dibawah atau node tsb<anaknya).

2. Max Heap

Setiap node dalam Max Heap lebih besar dari masing-masing child nya dan root merupakan node paling besar


Insertion : 

  • Insert Node baru
  • Check parent
  • Jika node baru bernilai lebih besar dibandingkan parent, tukar posisinya dengan parent.


Deletion : 

  • Yang dihapus merupakan rootnya (elemen terbesar).
  • Root yang dihapus tersebut kemudian digantikan oleh data terakhir di nodenya, kemudian data tersebut di downheapmax(jika anak > data tsb, maka tukar,dst), sampai mentok dibawah atau node tsb>anaknya).



3. Min-Max Heap

Pada Min-Max Heap, root akan bernilai minimum, selanjutnya child dari root akan bernilai maksimum, dan seterusnya. Nilai terkecil berada di root dan nilai terbesar berada di salah satu node pada level setelah root. Level min hanya dapat dibandingkan dengan level min, dan sebaliknya.


Insertion dan Deletion sama seperti Min Heap atau Max Heap namun, pengecekan kondisi hanya dapat dilakukan di level sesama min atau max



Tries

Tries merupakan tree yang berfungsi untuk menyimpan array

  • root mempresentasikan karakter kosong/null
  • node lainnya mempresentasikan satu huruf



Comments

Popular posts from this blog

Final Review

Halo, Selamat datang di blog aku, hari ini kita akan mengulang pembahasan beberapa materi tentang data structure, yang pertama adalah Linked List Linked List Linked List adalah kumpulan elemen data, yang setiap data nya menunjuk ke data berikutnya, dan di diakhiri oleh null. Tipe - tipe linked list yaitu : Simple Linked List - hanya bisa bergerak maju. Doubly Linked List - bisa bergerak maju dan mundur. Circular Linked List - data terakhir bisa bergerak maju ke data pertama, dan data pertama                                              bergerak mundur ke data terakhir. Doubly Linked List Doubly Linked List hampir mirip dengan simple linked list, bedanya dia memiliki 2 pointer, yaitu next dan previous. next - bergerak maju ke data selanjutnya previous - bergerak mundur ke data sebelumnya Circular Single Linked List ...

Data Structure Summary

Hallo Guys hari kita akan merangkum apa yang sudah kita pelajari dari awal semester. materi yang akan kita bahas adalah Linked List Doubly Linked List Circular Single Linked List Circular Doubly Linked List Stack & Queue Hashing and Binary Tree Binary Search Tree 1. Linked List Linked List adalah kumpulan elemen data, yang setiap data nya menunjuk ke data berikutnya, dan di diakhiri oleh null. Tipe - tipe linked list yaitu : Simple Linked List - hanya bisa bergerak maju. Doubly Linked List - bisa bergerak maju dan mundur. Circular Linked List - data terakhir bisa bergerak maju ke data pertama, dan data pertama                                              bergerak mundur ke data terakhir. 2. Doubly Linked List Doubly Linked List hampir mirip dengan simple linked list, bedanya dia memiliki 2 pointer, yaitu next dan previous. ...