(Struktur Data Pohon).

advertisement
Pertemuan – 8
Struktur Data Pohon/Tree
Dipersiapkan oleh : Boldson Herdianto S., S.Kom., MMSI.
POHON / TREE
Struktur Data
Struktur data yang terdiri dari akar (root), dan
subpohon-subpohon dalam susunan berhirarki
ROOT/AKAR
Simpul
/ Node
/ Vertex
TINGKAT (LEVEL) DAN KEDALAMAN
(DEPTH) POHON
Struktur Data Pohon
Tingkat
dimulai dari 0, 1, 2 dst
Kedalaman
dimulai dari 1, 2, 3, dst (tingkat + 1)
TINGKAT 0
TINGKAT 1
TINGKAT 2
TINGKAT 3
DERAJAT SIMPUL
Struktur Data Pohon
Derajat = jumlah anak yang dimiliki sebuah
simpul
Derajat 2
Derajat 2
Derajat 0
Derajat 3
NODE INTERNAL & EKSTERNAL
Struktur Data Pohon
Node Internal = node yang memiliki anak
Node eksternal = node yang tidak memiliki anak (daun)
Node Internal
Node Internal
Node Eksternal
NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Diagram Pohon
NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Diagram Venn
NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Notasi Kurung
(A(B(D,E(I,J)),C(F,G,H)))
atau
(A (B(D)(E(I)(J))) (C(F)(G)(H)))
NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Notasi Tingkat
LATIHAN NOTASI POHON
Struktur Data Pohon
Buat dalam diagram venn, notasi kurung dan notasi
tingkat
X
Y
Q
P
R
T
M
U
N
S
W
Z
POHON BINER
Struktur Data Pohon
Struktur Data Pohon yang maksimal memiliki 2 anak.
JUMLAH MAKS NODE
Struktur Data Pohon
Jumlah maksimum node pada setiap tingkat adalah
2 pangkat n
KAMUS DATA POHON BINER
Struktur Data Pohon
Kamus Data
Type BTree = record <
Kiri : BTree
Info : char
Kanan : BTree >
P : BTree
Kiri
Info
Kanan
FISIK POHON BINER
Struktur Data Pohon
FISIK POHON BINER
Struktur Data Pohon
OPERASI DASAR
Struktur Data Pohon
CreateTree(P)
: membuat pohon biner baru
EmptyTree(P)
: memeriksa apakah pohon biner kosong ?
InsertTree(P,N)
: menyisipkan simpul baru
DeleteTree(P,N)
: menghapus simpul
Info(P)
: mengetahui/mencetak isi simpul P
Traversal
: penelusuran pohon biner
POHON BINER TERURUT
Struktur Data Pohon
12
22
8
19
10
9
20
4
2
6
POHON BINER TERURUT
Struktur Data Pohon
12
22
8
19
10
9
20
4
2
6
POHON BINER TERURUT
menyisipkan simpul dgn aturan : simpul yang lebih kecil
diletakkan di sebelah kiri simpul
Procedure SisipUrutBTree(input/output P:BTree, input N:integer)
If EmptyTree(P) then
CreateTree(P)
InsertTree(P,N) {untuk info(P)}
Else
If N < info(P) then
SisipUrutBTree(P .kiri,N)
else
SisipUrutBTree(P .kanan,N)
Endif
Endif
BUAT POHON BINER TERURUT
Struktur Data Pohon
2, 3, 4, 5, 50, 10,
15, 13, 20, 12, 10,
5, 7
LATIHAN NOTASI POHON
Struktur Data Pohon
2
3
2, 3, 4, 5, 50, 10, 15,
13, 20, 12, 10, 5, 7
4
5
5
0
1
0
5
7
1
0
1
2
1
5
1
3
2
0
PENELUSURAN POHON BINER
Struktur Data Pohon
PENELUSURAN POHON BINER
Struktur Data Pohon
Preorder (S L R) ???
Postorder (L R S) ???
Inorder (L S R)???
Pre : H F B A C G L J I M
Post : A C B G F I J M L H
In
:ABCFGHIJLM
KONVERSI POHON
KE POHON BINER
Anak pertama menjadi anak kiri, anak ke-2 menjadi
cucu kanan, ke-3 jadi cicit kanan dst
LATIHAN KONVERSI KE POHON BINER
Struktur Data Pohon
Konversi pohon umum ini ke pohon biner
X
Y
Q
P
R
T
M
U
N
S
W
Z
LATIHAN KONVERSI KE POHON UMUM
Struktur Data Pohon
Konversi pohon biner ini ke pohon umum
A
B
C
X
D
Y
I
X
J
E
PEMBENTUKAN POHON
DARI HASIL TRAVERSAL DAN DERAJAT SIMPUL
Preorder
:U VWXY
Derajat
:2 2 0 0 0
Hasilnya :
Cari yang derajat bukan NOL
PEMBENTUKAN POHON
DARI HASIL TRAVERSAL DAN DERAJAT SIMPUL
Preorder
:U VWXY
Derajat
Hasilnya :
:2 2 0 0 0
Kita lanjutkan
untuk yang satu ini …..
Download