Binary Search Tree
A. BINARY SEARCH TREE
Binary Search Tree adalah tree yang terurut (ordered Binary Tree) yang memiliki kelebihan bila dibanding dengan struktur data lain. Binary Search Tree juga sering disebut dengan Sorted Binary Tree yang berfungsi untuk menyimpan informasi nama atau bilangan yang disimpan di dalam memory.
Ciri-ciri Binary Search Tree :
1. Setiap node mempunyai value dan tidak ada value yang double.
2. Value yang ada di kiri tree lebih kecil dari rootnya.
3. Value yang ada di kanan tree lebih besar dari rootnya.
4. Kiri dan kanan tree bisa menjadi root lagi atau bisa mempunyai child.
5. Memiliki sifat rekursif.
Binary Search Tree memiliki tiga operasi dasar :
1. Find(x) : menemukan value x di dalam Binary Search Tree (Search)
2. Insert(x) : memasukkan value baru x ke Binary Search Tree (Push)
3. Remove(x) : menghapus key x dari Binary Search Tree (Delete)
B. OPERASI SEARCH
1. Memulai pencarian dari root.
2. Jika root adalah value yang kita cari, maka berhenti.
3. Jika x lebih kecil dari root maka cari ke dalam rekursif tree sebelah kiri.
4. Jika x lebih besar dari root maka cari ke dalam rekursif tree sebelah kanan.
C. OPERASI INSERTION
1. Dimulai dari root
2. Jika x lebih kecil dari node value(key), kemudian cek dengan sub-tree sebelah kiri. Lakukan pengecekan secara berulang (rekursif).
3. Jika x lebih besar dari node value(key), kemudian cek dengan sub-tree sebelah kanan. Lakukan pengecekan secara berulang (rekursif).
4. Ulangi sampai menemukan node yang kosong untuk memasukkan value x. Dan x akan selalu berada di paling bawah, biasa disebut leaf atau daun.
D. OPERASI DELETION
1. Jika value yang ingin dihapus adalah leaf (daun) atau paling bawah, langsung delete.
2. Jika value yang akan dihapus mempunyai satu anak, hapus nodenya dan gabungkan anaknya ke parent value yang dihapus.
3. Jika value yang akan dihapus adalah node yang memiliki dua anak, maka ada dua cara. Kita bisa mencari dari left sub-tree anak kanan paling terakhir (leaf) (kiri, kanan). Atau dengan cara mencari dari right sub-tree anak kiri paling terakhir (leaf) (kanan, kiri).
Comments
Post a Comment