download

Matakuliah
Tahun
: T0034 / Perancangan & Analisis Algoritma
: 2008
Pertemuan 6
TREE & BINARY TREE
TREE
• Terdapat sejumlah node (titik) yang terhubung atas
susunan hierarkis parent (orang tua) dan child
(anak).
• Sebuah child node pasti memiliki satu parent node.
• Sebuah parent node bisa memiliki beberapa node
lain yang berada di bawahnya (child node).
[buku utama, bab 4.4]
Bina Nusantara
ILUSTRASI TREE
[buku utama, ilustrasi 4.6]
Bina Nusantara
BINARY TREE (1)
• Adalah sebuah tree yang setiap node-nya pasti
memiliki 0 atau 2 child.
• Jumlah maksimal node di level ke-k = 2k-1
• Jumlah maksimal node dalam Binary Tree
kedalaman k = 2k-1
[buku utama, bab 4.4.1]
Bina Nusantara
BINARY TREE (2)
• Impementasi bisa dengan array atau linked-list
• Operasi yang dapat dilakukan :
–
–
–
–
Bina Nusantara
Memasukkan / menambahkan data
Mencari data
Menghapus data
Sorting data
ILUSTRASI BINARY TREE
[buku utama, ilustrasi 4.7]
Bina Nusantara
TREE TRAVERSAL
• Adalah proses mengunjungi setiap node dalam tree
• Pre-order Traversal
– parent–left–right
• Level-order Traversal
– parent–left–right (per level / kedalaman)
• In-order Traversal
– left–parent–right (teknik ini hanya berlaku bagi Binary Tree)
• Post-order Traversal
– left–right–parent
[buku utama, bab 9.2]
Bina Nusantara
PRE-ORDER TRAVERSAL
[buku utama, ilustrasi 9.6]
Bina Nusantara
LEVEL-ORDER TRAVERSAL
[buku utama, ilustrasi 9.7]
Bina Nusantara
IN-ORDER TRAVERSAL
[buku utama, ilustrasi 9.8]
Bina Nusantara
POST-ORDER TRAVERSAL
[buku utama, ilustrasi 9.9]
Bina Nusantara
EULER TOUR TRAVERSAL
+
1
16
11
10
x
x
12
2
9
15
4
3
13 14
–
2
3
b
5
8
7
6
a
Bina Nusantara
1
Arithmetic Expression Tree
2 x (a – 1) + (3 x b)
LATIHAN
• Uraikan perbedaan implementasi Tree dengan
menggunakan array dan pointer!
Bina Nusantara
REVIEW
• Apa yang sudah dipahami?
• Apa yang akan dibahas selanjutnya?
Bina Nusantara