Binary Search Tree

Binary Search Tree

BINARY SEARCH TREE


Apa itu binary search tree?

Sebelum masuk ke materi kita harus paham maksud dari tree dan binary tree terlebih dahulu.Tree (pohon) adalah salah satu bentuk struktur data yang menggambarkan hubungan hierarki antar elemen-elemennya (seperti relasi one to many).Binary tree adalah tree yang hanya dapat mempunyai maksimal 2 percabangan saja.Binary Search Tree adalah struktur data yang mengadopsi konsep Binary Tree namun terdapat aturan bahwa setiap clild node sebelah kiri selalu lebih kecil nilainya dari pada root node.Begitu pula sebaliknya, setiap child node sebelah kanan selalu lebih besar nilainya daripada root node.


Aturan main binary search tree:

  • Setiap child node sebelah kiri harus lebih kecil nilainya daripada root nodenya.
  • Setiap child node sebelah kanan harus lebih besar nilainya daripada root nodenya.

Lalu, ada 3 jenis cara untuk melakukan penelusuran data (traversal) pada BST :

  • PreOrder : Print data, telusur ke kiri, telusur ke kanan
  • InOrder : Telusur ke kiri, print data, telusur ke kanan
  • Post Order : Telusur ke kiri, telusur ke kanan, print data

Insert BST

Penyisipan sebuah  node baru, didahului dengan operasi pencarian posisi yang sesuai. Dalam hal ini node baru tersebut akan menjadi daun/leaf.


Delete BST

Operasi delete memiliki 3 kemungkinan :
-          Delete terhadap node tanpa anak/child (leaf/daun) : node dapat langsung dihapus
-          Delete terhadap node dengan satu anak/child : maka node anak akan menggantikan posisinya.
-          Delete terhadap node dengan dua anak/child : maka node akan digantikan oleh node paling kiri dari Sub Tree Kanan atau dapat juga digantikan oleh anak paling kanan dari Sub Tree Kiri.

Sumber Referensi:

Comments

Popular posts from this blog

AVL TREE

Linked List II