Heap Tree and RBT

Heap Tree

 Heap tree merupakan Complete Binary Tree atau merupakan Binary Tree juga  yang biasa juga disebut Complete Binary Search Tree (CBT) dimana harga - harga key pada node node nya sedemikian rupa sehingga harga harga key pada node node anaknya tidak ada yang lebih besar daru harga key pada node orang tuanya.


Pertama kali operasi yang harus dilakukan di Heap tree adalah Heapufy yaitu proses untuk menciptakan data struktur heap dari sebuah binary tree yang digunakan untuk menciptakan heap min dan heap max.


1. Masukkan inputan
2. Mulai dari index pertama dari non leaf node yang indexnya n/2-1;
3. Set current elemen i menjadi yang terbesar
4. Index dari node anak bagian kiri diberikan 2i + 1 dan node anak bagian kanan diberkan 2i+2.
Jika anak bagian kiri lebih besar dari current element/index ke i, maka set index anak bagian kiri menjadi yang terbesar.
Jika anak bagian kanan lebih besar dari element yang terbesar maka set index anak bagian kanan menjadi yang terbesar.
5. Tukar element yang terbesar dengan current element
6. Ulangi step hingga semua subtree terkena heapify.


RBT


RBT / Red Black Tree merupakan self balancing binay tree yang node nya mempunyai warna yaitu merah atau hitam. 

Red Black Tree Properties :

1. Setiap node yang ada di Red Black Tree mempunyai warna yaitu merah atau hitam 
2. Root dari tree tersebur selalu hitam
3. Node yang berwarna merah selalu mempunyai node anak yang berwarna hitam 
4. Setiap path dari node roor ke node NULL(leaf) mempunyai jumlah angka yang sama dari node yang berwarna hitam 

Red Black Tree dengan n keys mempunyai tinggi h <= 2 log(n+1)

Operasi yang terdapat di Red Black Tree yaitu :

1. Rotate semua subtree yang ada di Red Black Tree
Di operasi ini, posisi dari node yang berupa subtree dipertukarkan.

Operasi ini digunakan untuk maintain properti dari red black tree jika mereka melanggar oleh operasi lain seperti Insertion dan deletion.

2. Insertion 

Pada saat insert node baru, node baru selalu diinsert sebagai node yang berwarna merah. Setelah insert node baru, lalu jika tree melanggar properti dari Red Black Tree, maka kita harus melakukan operasi ini yaitu Recolor dan Rotasi

3. Deletion 

Setelah men-delete suatu node maka kita harus maintain kemabali operasi Red Black Tree












Komentar

Postingan populer dari blog ini

Single Link List dan Double Link List

Double Linked List 2301878012-Stanley_Dave_Teherag

AVL Tree