Binary Search Tree ialah yang terurut (ordered Binary Tree). Binary Search Tree juga sering disebut dengan Sorted Binary Tree yang berfungsi untuk menyimpan informasi nama atau bilangan yang disimpan di dalam memory.
di Binary Search Tree/BST ini memiliki induk atau sering disebut root, dan memiliki anak akar, sibling dll.
Binary search tree memungkinkan pencarian dengan cepat, penambahan, juga menghapus data yang ada di dalamnya, bisa juga digunakan sebagai implementasi sejumlah data dinamis, atau pencarian table data dengan menggunakan informasi kunci atau key.
Agar data benar-benar tersusun dalam struktur data BST, dua aturan yang harus dipenuhi pada saat data diatur dalam BST adalah sebagai berikut:
- Semua data dibagian kiri sub-tree dari node t selalu lebih kecil dari data dalam node utama itu sendiri.
- Semua data dibagian kanan sub-tree dari node t selalu lebih besar atausama dengan data dalam node utama.
di BST ini memiliki 3 operasi dasar yaitu:
1. Remove : memasukan value baru x ke BST ( Push ).
2. Find : find value x didalam BST ( Search ).
3. Insert : menghapus key x dari BST ( Delete ).
Operasi : Find BST
Dengan adanya ciri” atau syarat di dalam BST , maka untuk finding/searching didalam BST menjadi lebih mudah. Bayangkan kita mencari value x.
- Memulai Pencarian Dari Root
- Jika Root adalah value yang kita cari , maka berhenti
- Jika x lebih kecil dari root maka cari kedalam rekrusif tree sebelah kiri
- Jika x lebih besar dari root maka cari kedalam rekrusif tree sebelah kanan
Operasi: Insertion BST
Memasukan value (data) baru kedalam BST dengan rekrusif
Bayangkan kita menginsert value x :
- Dimulai dari root
- jika x lebih kecil dari node value(key) kemudian cek dengan sub-tree sebelah kiri lakukan pengecekan secara berulang ( rekrusif )
- jika x lebih besar dari node value(key) kemudian cek dengan sub-tree sebelah kanan lakukan pengecekan secara berulang ( rekrusif )
- Ulangi sampai menemukan node yang kosong untuk memasukan value X ( X akan selalu berada di paling bawah biasa di sebut Leaf atau daun )
Operasi: Delete
akan ada 3 case yang ditemukan ketika ingin menghapus yang perlu diperhatikan :
- Jika value yang ingin dihapus adalah Leaf(Daun) atau paling bawah , langsung delete
- Jika value yang akan dihapus mempunyai satu anak, hapus nodenya dan gabungkan anaknya ke parent value yang dihapus
- jika value yang akan di hapus adalah node yang memiliki 2 anak , maka ada 2 cara , kita bisa cari dari left sub-tree anak kanan paling terakhir(leaf) (kiri,kanan
).
okee segitu dulu yak materi kali ini sekian dah terima kasih
Sumber :
https://sourcecodegeneration.blogspot.com/2018/08/pengertian-binary-tree-binary-search.html
https://abdilahrf.github.io/2015/06/pengenalan-binary-search-tree/
No comments:
Post a Comment