10 - Pohon
10 - Pohon
Pertemuan Ke 15
Matematika Diskrit
Pohon (Tree)
Defenisi
(a) (b)
Router Subnetwork
a a
45
55 d d
25 30 25 30
c h c h
b b
40 20 40 20
50
5 15 5 15
g g
e e
35 10 10
f f
Algoritma Prim
Langkah 1: ambil sisi dari graf G yg berbobot
minimum, masukkan ke dlm T.
Langkah 2: pilih sisi (u, v) yg mempunyai bobot
minimum dan bersisian dgn simpul di T, tetapi (u,
v) tidak membentuk sirkuit di T. Masukkan (u, v)
ke dlm T.
Langkah 3: ulangi langkah 2 sebanyak n – 2 kali.
1 10 2
50 1 10 2
30 45 40 3
35 45 3
4 35
25 4
5 25
20 55 5
15 20 55
15
6
6
Algoritma Prim
Tabel Pembentukan Pohon merentang minimum dg
Algoritma Prim:
Pohon merentang minimum yang dihasilkan:
1 10 2
3
35
4
25
5
20
15
Bobot = 10 + 25 + 15 + 20 + 35 = 105
Pohon merentang yang dihasilkan tidak selalu unik
meskipun bobotnya tetap sama.
Algoritma Kruskal
Langkah 0: sisi-sisi dari graf sudah diurut menaik
berdasarkan bobotnya – dari bobot kecil ke bobot
besar.
Langkah 1: T masih kosong.
Langkah 2: pilih sisi (u, v) dengan bobot
minimum yang tidak membentuk sirkuit di T.
Tambahkan (u, v) ke dalam T.
Langkah 3: ulangi langkah 2 sebanyak n – 1
kali. 2
1 10
50 1 10 2
30 45 40 3
35 45 3
4 35
25 4
5 25
20 55 5
15 20 55
15
6
6
Algoritma Kruskal
Sisi-sisi Graf diurut menaik berdasarkan bobotnya:
Pohon merentang minimum yang dihasilkan:
1 10 2
3
35
4
25
5
20
15
Bobot = 10 + 25 + 15 + 20 + 35 = 105
Pohon Berakar
a a
b b
d d
c c
e e
f g f g
h i j h i j
Pohon Berakar
Terminologi pada Pohon Berakar
l m
Terminologi pada Pohon Berakar
a
3. Saudara kandung (sibling)
f adalah saudara kandung e, tetapi, g
bukan saudara kandung e, karena b
orangtua mereka berbeda. c d
e
4. Upapohon (subtree) f g
k
h i j
l m
Terminologi pada Pohon Berakar
5. Derajat (degree) a
Derajat sebuah simpul adalah jumlah
upapohon (atau jumlah anak) pada simpul
tersebut. b
Derajat a adalah 3, derajat b adalah 2, Derajat c d
d adalah 1 dan derajat c adalah 0.
Jadi, derajat yang dimaksudkan disini adalah e f g
derajat-keluar.
Derajat maksimum dari semua simpul k
h i j
merupakan derajat pohon itu sendiri.
Pohon di samping berderajat 3
l m
Terminologi pada Pohon Berakar
6. Daun (leaf)
Simpul yang berderajat nol (atau tidak a
mempunyai anak) disebut daun.
Simpul h, i, j, f, c, l, dan m adalah
daun. b
c d
1 1
2 4 3 4 2
3
5 6 7 8 9 8 9 6 5 7
10 10
Pohon m-ary
Pohon berakar yg setiap simpul cabangnya mempunyai
paling banyak m buah anak disebut pohon m-ary.
Jika m = 2, pohonnnya disebut pohon biner (binary
tree.
Pohon m-ary dikatakan teratur atau penuh (full) jika
setiap simpul cabangnya mempunyai tepat m anak.
Pohon Biner
Pohon Biner adalah pohon n-ary dengan n = 2.
Pohon yang palingpenting karena aplikasinya.
Setiap simpul di dalam pohonbiner
mempunyai paling banyak 2 buah anak.
Dibedakan antara anak kiri (left child) dan
anak kanan (right child)
Karena ada perbedaan urutan anak, maka
pohon biner adalah pohon terurut.
a a
b c b c
d d
Gambar Dua buah pohon biner yang berbeda
Pohon Biner
a a
b b
d c
c d
T1 T2 T3
T1 dan T2 adalah pohon seimbang, sedangkan T3
bukan pohon seimbang.
Pohon Pencarian Biner
Pohon Pencarian Biner (binary search tree – BST)
adalah pohon biner yang setiap simpul kuncinya nya
diatur dalam suatu urutan tertentu.
Jika R adalah akar, dan semua kunci yg teersimpan
pd setiap simpul tdk ada yg sama, maka:
a.Semua simpul pd cabang kiri mempunyai kunci
lebih kecil dari kunci (R);
b.Semua simpul pd cabang kinan mempunyai kunci
lebih besar dari kunci (R);
R
32 60
18 40 52 70
5 25
Penelusuran (Traversal) Pohon Biner
Preorder : R, T1, T2
- kunjungi R
- kunjungi T1 secara preorder
- kunjungi T2 secara preorder
Langkah 1: kunjungi R
R
T1 T2
T1 T2
T1 T2
+ -
a / d *
b c e f
preorder : * + a / b c - d * e f (prefix)
inorder : a + b / c * d - e * f (infix)
postorder : a b c / + d e f * - * (postfix)
Tugas 10