Title: Tree
1Tree
- Rahmady Liyantanto
- liyantanto_at_gmail.com
- liyantanto.wordpress.com
Struktur Data
2POHON / TREE
Struktur Data
Struktur data yang terdiri dari akar (root), dan
subpohon-subpohon dalam susunan berhirarki
ROOT/AKAR
Simpul / Node / Vertex
3 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
4DERAJAT SIMPUL
Struktur Data Pohon
Derajat jumlah anak yang dimiliki sebuah simpul
Derajat 2
Derajat 2
Derajat 3
Derajat 0
5NODE 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
6NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Diagram Pohon
7NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Diagram Venn
8NOTASI 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)))
9NOTASI POHON
Struktur Data Pohon
Cara penulisan / penggambaran suatu pohon
Notasi Tingkat
10Istilah Dalam Tree
11POHON BINER
Struktur Data Pohon
Struktur Data Pohon yang maksimal memiliki 2 anak.
12JUMLAH MAKS NODE
Struktur Data Pohon
Jumlah maksimum node pada setiap tingkat adalah
2 pangkat n
13KAMUS DATA POHON BINER
Struktur Data Pohon
14FISIK POHON BINER
Struktur Data Pohon
15FISIK POHON BINER
Struktur Data Pohon
16OPERASI 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
17POHON BINER TERURUT
Struktur Data Pohon
12 22 8 19 10 9 20 4 2 6
18POHON BINER TERURUT
Struktur Data Pohon
12 22 8 19 10 9 20 4 2 6
19POHON BINER TERURUT
menyisipkan simpul dgn aturan simpul yang lebih
kecil diletakkan di sebelah kiri simpul
Procedure SisipUrutBTree(input/output PBTree,
input Ninteger) If EmptyTree(P)
then CreateTree(P) InsertTree(P,N) untuk
info(P) Else If N lt info(P) then
SisipUrutBTree(P?.kiri,N) else
SisipUrutBTree(P?.kanan,N) Endif Endif
20BUAT POHON BINER TERURUT
Struktur Data Pohon
2, 3, 4, 5, 50, 10, 15, 13, 20, 12, 10, 5, 7
21LATIHAN NOTASI POHON
Struktur Data Pohon
2
3
2, 3, 4, 5, 50, 10, 15, 13, 20, 12, 10, 5, 7
4
5
50
10
15
5
20
7
13
12
10
22PENELUSURAN POHON BINER
Struktur Data Pohon
23PENELUSURAN 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 A B C F G H I J L M
24KONVERSI POHON KE POHON BINER
Anak pertama menjadi anak kiri, anak ke-2 menjadi
cucu kanan, ke-3 jadi cicit kanan dst
25LATIHAN KONVERSI KE POHON BINER
Struktur Data Pohon
Konversi pohon umum ini ke pohon biner
X
Y
R
S
Q
T
W
U
Z
P
M
N
26LATIHAN KONVERSI KE POHON UMUM
Struktur Data Pohon
Konversi pohon biner ini ke pohon umum
A
B
C
X
D
Y
I
E
X
J
27PEMBENTUKAN POHONDARI HASIL TRAVERSAL DAN
DERAJAT SIMPUL
Preorder U V W X Y Derajat 2 2 0 0
0 Hasilnya
Cari yang derajat bukan NOL
28PEMBENTUKAN POHONDARI HASIL TRAVERSAL DAN
DERAJAT SIMPUL
Preorder U V W X Y Derajat 2 2 0 0
0 Hasilnya