Binary Search Tree BST BINARY SEARCH TREE BST
Binary Search Tree (BST) • BINARY SEARCH TREE (BST) adalah Binary Tree yang terurut, dengan ketentuan : • Semua Komponen yang berada pada cabang kiri harus lebih kecil dari Bapak (parent) dan cabang kanan • Semua Komponen yang berada pada cabang kanan harus lebih besar dari cabang bapak (Parent) atau cabang kiri. • TARGET NODE Node yang diinginkan/ dicari • KEUNTUNGAN Searching/ Pencarian Target Node menjadi lebih efisien dan cepat.
Contoh BST
Example 1: key is an integer 43 31 64 20 40 28 33 56 47 89 59
Example 1: key is an integer 43 31 64 20 40 28 33 56 47 89 59
Insert • Buat sebuah simpul baru • Cari lokasi penambahan • Kemudian tambahkan simpul yang baru sebagai simpul daun
Algoritma Untuk Insert
Insert Example: 57 43 31 64 20 40 28 33 56 47 89 59
Insert Example: 57 43 31 64 20 40 28 33 56 47 89 59 57
Search: Checklist • if target key is less than current node’s key, search the left sub-tree. • else, if target key is greater than current node’s key, search the right sub-tree. • returns: – if found, pointer to node containing target key. – otherwise, NULL pointer.
Search Example: 59 43 31 64 20 40 28 33 56 47 89 59 57 found
Search Example: 61 43 31 64 20 40 28 33 56 47 89 59 57 failed
Delete Key Penghapusan terhadap key (simpul) harus tetap menghasilkan BST sehingga hal-hal yang dilakukan adalah :
1. Jika yang didelete adalah simpul daun, maka tidak perlu dilakuka rotasi 43 31 64 20 40 28 33 56 47 89 59 57
2. Jika yang dihapus adalah simpul yang mempunyai satu cabang/anak, maka simpul itu digantikan oleh anaknya 43 31 64 20 40 28 33 56 47 59 57
43 31 56 20 40 28 33 47 59 57
3. a. b. Jika yang dihapus adalah simpul yang memiliki 2 cabang/anak, maka simpul itu digantikan oleh Dari cabang sebelah kiri yang paling kanan, atau Dari cabang sebelah kanan yang paling kiri 43 43 31 28 20 40 28 33 20 40 33
- Slides: 19