Академический Документы
Профессиональный Документы
Культура Документы
Pohon / Tree :
c d c d
c d
e f e f
e f
G1 G2 G3
b f g
h i j
c h i j
d e k l m k l m
T3
• T2 adalah full 3-ary tree, karena setiap internal vertex mempunyai 3 anak
• T3 bukan full 3-ary tree, karena ada internal vertex dengan 2 anak
Ordered rooted tree :
rooted tree di mana anak dari setiap internal vertex
punya urutan tertentu (dimulai dari kiri)
c e f l
• Level root a = 0
d g i m n • Level vertex b, j & k = 1
h
• Level vertex c, e, f & l = 2
• Level vertex d, g, i, m & n = 3
• Level vertex h = 4
• Height = 4 (maximum level)
T1 T2 T3
circuit circuit
e f g
circuit
a b c d a b c d a b c d
e f g e f g e f g
c e f h k
b g
Algoritma 2: Breadth-first Search
procedure BFS (G: connected graph with vertices v1, v2, …..,vn)
d e f g
h i j
k m
Minimum Spanning Tree
Definisi 1:
Minimum spanning tree dari suatu connected
weighted graph adalah spanning tree yang
mempunyai jumlah bobot terkecil.
Definition 1:
A Minimum Spanning Tree in a connected
weighted graph is a spanning tree that has the
smallest possible sum of weights of its edges.
Ada 2 algoritma untuk membuat
- Algoritma Kruskal
ALGORITMA Prim
T: = a minimum-weighted edge
for i := 1 to n – 2
begin
e := an edge of minimum weight incident to a vertex in T
and not forming a simple circuit in T if added to T
T := T with e added
end { T is minimum spanning tree of G }
2000
2200 Atlanta
2000
5 Atlanta
2200
5 Atlanta
2200
T {2, 5} = 700#
i=1 {3, 5} = 800#
i=2 {1, 4} = 900#
{2, 3} = 1000
i=3 {1, 2} = 1200#
Contoh:
1 10 2
50
30 45 40 3
35
4
25
5
20 55
15
29
Algoritma Prim
Langkah 1: ambil sisi dari graf G yang berbobot minimum,
masukkan ke dalam T.
30
L angkah S is i B obot P o h o n re n ta n g
1 10 2
1 (1, 2) 10
1 10 2
2 (2, 6) 25
25
6
1 10
3 (3, 6) 15
3
25
15
1 10 2
4 (4, 6) 20
3
4
25
20
15
1 10 2
5 (3, 5) 35
45 3
35
4
25
5
20 55
15
6
31
Pohon merentang minimum yang dihasilkan:
1 10 2
45 3
35
4
25
5
20 55
15
Bobot = 10 + 25 + 15 + 20 + 35 = 105
32
Pohon merentang yang dihasilkan tidak selalu unik
meskipun bobotnya tetap sama.
Hal ini terjadi jika ada beberapa sisi yang akan dipilih
berbobot sama.
33
Contoh:
a 3 b 4 c 2 d
4 2 3 6
5 f 4 g 4
e h
5 3 5 4
i 6 j 4 k 2 l
4 2 3 4 2 3 4 2 3
f g h f h f g h
e e e
4 4 4
5 3 4 5 3 4 5 3 4
i j 4 k 2 l i j 4 k 2 l i j k 2 l
35
procedure Kruskal(input G : graf, output T : pohon)
{ Membentuk pohon merentang minimum T dari graf terhubung –
berbobot G.
Masukan: graf-berbobot terhubung G = (V, E), dengan V= n
Keluaran: pohon rentang minimum T = (V, E’)
}
Deklarasi
i, p, q, u, v : integer
Algoritma
( Asumsi: sisi-sisi dari graf sudah diurut menaik
berdasarkan bobotnya – dari bobot kecil ke bobot
besar)
T {}
while jumlah sisi T < n-1 do
Pilih sisi (u,v) dari E yang bobotnya terkecil
if (u,v) tidak membentuk siklus di T then
T T {(u,v)}
endif
endfor
36
Contoh:
1 10 2
50
30 45 40 3
35
4
25
5
20 55
15
37
S is i- s is i d iu r u t m e n a ik :
S is i ( 1 ,2 ) ( 3 ,6 ) ( 4 ,6 ) ( 2 ,6 ) ( 1 ,4 ) ( 3 ,5 ) ( 2 ,5 ) ( 1 ,5 ) ( 2 ,3 ) ( 5 ,6 )
B obot 10 15 20 25 30 35 40 45 50 55
L angkah S is i B obot H u ta n m e r e n ta n g
0 1 2 3 4 5 6
1 (1, 2) 10
1 2
2 (3, 6) 15
1 2 3 4 5
3 (4, 6) 20
1 2 3 5
4
6
4 (2, 6) 25
1 2 3 5
38
5 (1, 4) 30 ditolak
6 (3, 5) 35
1 2
3
5
4
6
45 3
35
4
25
4 (2, 6) 25 5
55 1 2 3 5
20
15
4
6
Bobot = 10 + 25 + 15 + 20 + 35 = 105
39
Definisi Tree Traversal
Teknik menyusuri tiap node dalam sebuah tree
secara sistematis, sehingga semua node dapat
dan hanya satu kali saja dikunjungi
Ada tiga cara traversal
preorder
inorder
postorder
Untuk tree yang kosong, traversal tidak perlu
dilakukan
Preorder
1. Visit the root A
C D
E F
A→B→C→D→E→G→F→H
Implementasi dalam bahasa C
struct node {
struct node *left;
struct node *right;
char label;
}
C D
E F
C→B→G→E→D→F→A→H
Implementasi dalam bahasa C
struct node {
struct node *left;
struct node *right;
char label;
}
C D
E F
C→G→E→F→D→B→H→A
Implementasi dalam bahasa C
struct node {
struct node *left;
struct node *right;
char label;
}
Algorithm postOrder(v)
postOrder(leftChild(v));
postOrder(rightChild(v));
“visit” node v
Traversing Tree
+ /
+
a b c
d e
daun operand
simpul dalam operator
53
2. Pohon Keputusan
a : b
a > b b > a
a : c b : c
a >c c > a b > c c > b
54
3. Kode Awalan
0 1
0 1 0 1
01 10 11
0 1
000 001
Gambar Pohon biner dari kode prefiks { 000, 001, 01, 10, 11}
55
4. Kode Huffman
A 01000001
B 01000010
C 01000011
D 01000100
01000001010000010010000010100000110100000110100010001000001
56
Tabel Tabel kekerapan (frekuensi) dan kode Huffman
untuk string ABACCDA
0110010101110
hanya 13 bit!
57
5. Pohon Pencarian Biner
58
Data: 50, 32, 18, 40, 60, 52, 5, 25, 70
50
32 50
18 40 52 70
5 25
59
soal
1 Tentukan hasil kunjungan preorder, inorder, dan postorder pada pohon 4-
ary berikut ini:
b c d
e f g h i j k l m
n o p q
60
3. Tentukan dan gambarkan spanning tree minimum dari graf di bawah ini
a 5 b 4 c
2 3 5 6 3
7 e 1
d f
6 8 3 4 4
g 4 h 2 i
61
4. Diberikan masukan berupa rangkaian karakter dengan urutan
sebagai berikut:
P, T, B, F, H, K, N, S, A, U, M, I, D, C, W, O
62