Handout TIF104 TIF104 Bab5 Binary Tree Bagian2
4/22/2015
Kompetensi Dasar.
Bab 5:
Agenda
•
•
•
Pendahuluan Binary Tree
•
•
•
•
Definisi Pohon/Tree
Termonologi Pohon
Penyajian Pohon
Implementasi Pohon
Definisi Binary Tree
Operasi Binary Tree
•
•
•
Pencarian
Penyisipan
Penghapusan
Mahasiswa mendapatkan pemahaman
mengenai cara kerja dan penyajian pohon
biner beserta implementasinya, baik pada
proses pencarian maupun dalam proses
penyisipan dan 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 subtree and the right subtree”
Robert L. Kruse, “Data Structures and Program Design in C”
1
4/22/2015
Binary Search Tree
•
•
Binary Search Tree
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
Unique Binary Search Tree
Binary Search Tree
•
•
•
Konsep BST adalah jika ditelusuri secara
inorder, 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.
Un-unique Binary Search Tree
CREATE 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 BST
2
4/22/2015
Balanced Binary Search Tree
•
•
•
Mengapa perlu diseimbangkan?
Sebuah BST perlu diseimbangkan untuk
mempercepat proses
penelusuran/pencarian nilai dalam BST
Teknik penyeimbangan BST dapat
dilakukan dengan:
1.
2.
3.
4.
Right Rotation
Left Rotation
Left Rotation to Right Rotation
Right Rotation to Left Rotation
Balanced Code Binary Search Tree
•
•
•
BST dalam sistem komputer dinyatakan
dalam bentuk linked list linier doubly
Menggunakan kode balancing untuk
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
BST Delete NODE(s)
•
•
•
Merupakan operasi penghapusan simpul
baru pada BST.
Operasi penghapusan simpul – dalam
beberapa kasus - pada umumnya
dilanjutkan dengan melakukan
penyesuaian BST.
Penyesuaian BST dilaukkan untu
mendapatkan keseimbangan BST.
Bab 5:
3
Kompetensi Dasar.
Bab 5:
Agenda
•
•
•
Pendahuluan Binary Tree
•
•
•
•
Definisi Pohon/Tree
Termonologi Pohon
Penyajian Pohon
Implementasi Pohon
Definisi Binary Tree
Operasi Binary Tree
•
•
•
Pencarian
Penyisipan
Penghapusan
Mahasiswa mendapatkan pemahaman
mengenai cara kerja dan penyajian pohon
biner beserta implementasinya, baik pada
proses pencarian maupun dalam proses
penyisipan dan 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 subtree and the right subtree”
Robert L. Kruse, “Data Structures and Program Design in C”
1
4/22/2015
Binary Search Tree
•
•
Binary Search Tree
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
Unique Binary Search Tree
Binary Search Tree
•
•
•
Konsep BST adalah jika ditelusuri secara
inorder, 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.
Un-unique Binary Search Tree
CREATE 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 BST
2
4/22/2015
Balanced Binary Search Tree
•
•
•
Mengapa perlu diseimbangkan?
Sebuah BST perlu diseimbangkan untuk
mempercepat proses
penelusuran/pencarian nilai dalam BST
Teknik penyeimbangan BST dapat
dilakukan dengan:
1.
2.
3.
4.
Right Rotation
Left Rotation
Left Rotation to Right Rotation
Right Rotation to Left Rotation
Balanced Code Binary Search Tree
•
•
•
BST dalam sistem komputer dinyatakan
dalam bentuk linked list linier doubly
Menggunakan kode balancing untuk
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
BST Delete NODE(s)
•
•
•
Merupakan operasi penghapusan simpul
baru pada BST.
Operasi penghapusan simpul – dalam
beberapa kasus - pada umumnya
dilanjutkan dengan melakukan
penyesuaian BST.
Penyesuaian BST dilaukkan untu
mendapatkan keseimbangan BST.
Bab 5:
3