Binary Search Tree
Binary Search Tree atau BST adalah salah satu Data Structure yang memiliki atribut yang sama dengan Binary Tree, namun memiliki susunan data yang lebih terstruktur, data yang masuk otomatis telah dimasukkan secara teratur, sebagai contoh:
Apabila ada data yang masuk dengan nilai lebih kecil daripada nilai root, maka data akan diletakkan dicabang kiri, jika ada data yang masuk lebih besar daripada nilai root, data akan diletakkan di sebelah kanan.
Ciri ciri Binary Search Tree:
- Cabang bagian kiri memiliki nilai lebih kecil daripada root
- Cabang bagian kanan memiliki nilai lebih besar daripada root
- Setiap cabang hanya dapat memiliki 2 anak
Search
Search dalam BST pastinya lebih cepat terproses dibandingkan dengan Binary Tree biasa, untuk BST sehat, memiliki kompleksitas O (log n). Untuk algoritmanya, biasanya berdasarkan dengan nilai data. Apabila data yang dicari lebih kecil daripada root, maka root sekarang menjadi anak kiri dari root, begitu juga sebaliknya. ketika datanya ternyata sudah habis atau sudah ketemu, maka program search selesai,
Insert
Untuk insert seharusnya mirip dengan algoritma search, Insert diawali dengan root, kemudian dicek datanya, apakah lebih besar atau lebih kecil dari root, jika lebih kecil, root sekarang menjadi
root->left, hal ini terus dilakukan sampai didapatkan cabang yang masih kosong (null). Begitu juga sebaliknya.
Deletion
Mirip seperti insert, root, kemudian dicek datanya, apakah lebih besar atau lebih kecil dari root, jika lebih kecil, root sekarang menjadi root->left, program selesai apabila datanya ditemukan ataupun menemukan cabang null.
Sumber :


