Binary Search Trees
Di computer science, binary search trees (BST), disebut
sebagai binary tree yang diurutkan, adalah sebuah data structure yang menyimpan
"item" tertentu (biasanya angka, nama, dll) di memori. Binary search
trees (BST) memungkinkan untuk pencarian cepat, penambahan dan penghapusan item.
Pada binary search trees (BST) sendiri menggunakan konsep untuk angka lebih
kecil berada di sebelah kiri dan angka lebih besar berada di sebelah kanan.
Binary search tree mempunyai operasi dasar yaitu:
-
find(x) : mencari kunci x di binary search
tree (BST)
Setiap kali data dicari, mulailah
mencari dari simpul akar. Kemudian jika data kurang dari nilai kunci, cari
elemen di subtree kiri. Jika tidak, cari elemen di subtree kanan. Ikuti
algoritma yang sama untuk setiap node.
-
insert(x) : menambahkan kunci baru x di binary searach tree (BST)
Setiap kali data baru dimasukkan,
pertama-tama cari lokasi yang tepat. Mulai mencari darileaf node, kemudian jika
data kurang dari nilai kunci, cari lokasi kosong di subtree kiri dan masukkan
data. Jika tidak, cari lokasi kosong di subtree kanan dan masukkan data.
-
remove(x) : menghapus key x dari BST
Ketika kita menghapus sebuah key, maka akan ada
3 kemungkinan :
- Node yang dihapus terletak pada leaf: Maka
simple langsung hapus saja data tersebut.
- Node yang dihapus
mempunyai satu anak: Maka salin value anak tersebut ke dalam node dan
hapus value anak di tempat semula.
- Node yang akan dihapus memiliki
dua anak: Temukan penerus inorder dari node. Salin penerus inorder ke node dan
hapus penerus inorder. Perhatikan bahwa pendahulu inorder juga dapat digunakan.
Source :
Komentar
Posting Komentar