4/22/2015
1
Bab 5:
Kompetensi Dasar.
Mahasiswa mendapatkan pemahaman mengenai cara kerja dan penyajian pohon biner beserta implementasinya, baik pada proses pencarian maupun dalam proses penyisipan dan penghapusan.
Agenda
•
Pendahuluan Binary Tree•
Definisi Pohon/Tree•
TermonologiPohon•
PenyajianPohon•
Implementasi Pohon•
Definisi Binary Tree•
Operasi Binary Tree•
Pencarian•
Penyisipan•
Penghapusan•
Definisi Binary Tree (pohon biner):“Binary tree is a finite set of nodes which is either empty or consist of root and two disjoint binary trees called the left subtree and the right subtree”
Ellist Horowitz, Satraj Sahni, “Fundamentals of Data Structures”
“Binary tree is either empty, or it consist of a node called root together with two binary trees called
the left subtreeand the right subtree”
4/22/2015
2
•
Definisi Binary Search Tree/BST (pohon cari biner): Sebuah pohon biner yang memiliki karakteristik dimana semua elemen simpul pada sub pohon kiri memiliki nilai < dari nilai simpul n(node pengamatan) dan semua elemen simpul pada sub pohon kanan memiliki nilai >= dari nilai simpul n.•
Terdiri dari:• Unique binary search tree
• Un-unique binary search tree
Binary Search Tree
Binary Search Tree
Unique Binary Search Tree Un-unique Binary Search Tree
•
Konsep BST adalah jika ditelusuri secarainorder, maka hasilnya berupa nilai urut menaik (ascending).
•
Tujuan BST: Pencarian/penelusuran data dapat dilakukan secara biner.•
Seluruh data dikelompokkan menjadi 2 bagian, kemudian data hanya dicari pada salah satu kelompok yang diperkirakan terdapat pada kelompok tersebut.Binary Search Tree
Pembuatan Pohon Cari Biner.
•
Pembuatan BST dapat dilakukan dengan 3 teknik urutan :1. INORDER, pembuatan BST dilakukan dengan urutan (order) kiri –root –kanan.
2. POSTORDER, pembuatan BST yang dilakukan dengan urutan (order) kiri –kanan –root.
3. PREORDER, pembuatan BST yang dilakukan dengan urutan (order) root –kiri –kanan.
•
Pada umunya merupakan operasi insert BST4/22/2015
3
•
Mengapa perlu diseimbangkan?•
Sebuah BST perlu diseimbangkan untuk mempercepat prosespenelusuran/pencarian nilai dalam BST
•
Teknik penyeimbangan BST dapat dilakukan dengan:1. Right Rotation
2. Left Rotation
3. Left Rotation to Right Rotation
4. Right Rotation to Left Rotation
Balanced Binary Search Tree
•
BST dalam sistem komputer dinyatakan dalam bentuk linked list linier doubly•
Menggunakan kode balancinguntuk mengetahui apakah sebuah BST dinyatakan seimbang•
Kode balancing:1. 0, kedalaman subpohon kiri dan kanan seimbang
2. 1, menandakan subpohon kiri lebih dalam dari sibpohon kanan
3. -1, menandakan subpohon kanan lebih dalam dari sibpohon kiri