0% menganggap dokumen ini bermanfaat (0 suara)
132 tayangan63 halaman

Algoritma Dan Struktur Data - Pert-12 B-Tree & BST

Tree adalah struktur data hierarkis yang terdiri dari node-node yang saling terhubung secara hirarki dimana setiap node hanya boleh memiliki satu parent kecuali root. Binary tree adalah tree dimana setiap node hanya memiliki maksimal 2 cabang."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
132 tayangan63 halaman

Algoritma Dan Struktur Data - Pert-12 B-Tree & BST

Tree adalah struktur data hierarkis yang terdiri dari node-node yang saling terhubung secara hirarki dimana setiap node hanya boleh memiliki satu parent kecuali root. Binary tree adalah tree dimana setiap node hanya memiliki maksimal 2 cabang."
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PPTX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 63

Neneng Rachmalia Feta, SKom. MKom.

 Tree adalah Kumpulan elemen yang saling terhubung


secara hirarki (one to many).
 Elemen pada tree disebut node.
 Sebuah node hanya boleh memiliki satu
induk/parent. Kecuali root, tidak memiliki
induk/parent.
 Setiap node dapat memiliki nol atau banyak
cabang anak (one to many).
 Node yang tidak memiliki cabang anak disebut
daun.
 Ada berapa node pada tree diatas?
 Node manakah yang menjadi root?
 Ada berapa jumlah node leaf/daun pada tree tersebut?
 Ada berapa node pada tree diatas? 18
 Node manakah yang menjadi root? Animal
 Ada berapa jumlah node leaf/daun pada tree tersebut? 8
 Predesesor (F)?  Sibling (G)?
 Succesor (B)?  Size?
 Ancestor (F)?  Height?
 Descendant (B)?  Root?
 Parent (I)?  Leaf?
 Child (C)?  Degree (C)?
 Predesesor (F)? = A, B, C  Sibling (G)? = F, H
 Succesor (B)? = D, E, F, G, H, I  Size? = 9
 Ancestor (F)? = C, A  Height? = 4
 Descendant (B)? = D, E  Root? = A
 Parent (I)? = H  Leaf? = D, E, F, G, I
 Child (C)? = F, G, H  Degree (C)? = 3
1. Apa itu leaf/daun?
2. Apa itu root?
3. Apa itu level pada tree?
4. Apa itu subtree?
5. Apa itu binary tree?
 Binary tree = pohon biner
 Tiap node-nya memiliki maksimal 2 cabang.
R

S T

X Y U V

Z W
 Representasi ekspresi arithmatik

((((3 X (1 + (4 + 6))) + (2 + 8)) X 5 + (4 X (7 + 2)))


 Binary tree dapat direpresentasikan dengan
menggunakan array maupun linked list.
 Representasi binary tree menggunakan array
(root pada index 0) :

0 1 2 3 4 5 6 7 8 9 10 11
H

D K

B F J L

A C E G I
Representasi binary tree menggunakan array (asumsi root
pada index 0) :

H D K B F J L A C E G I

0 1 2 3 4 5 6 7 8 9 10 11

Representasi binary tree menggunakan array (asumsi root


pada index 1) :

H D K B F J L A C E G I

0 1 2 3 4 5 6 7 8 9 10 11 12
 Tiap sub tree memiliki panjang path yang sama.
 Disebut juga maximum binary tree
 Seluruh node sebelah kiri terisi seluruhnya. Node sebelah
kanan pada level n-1 ada yang kosong.
Posisi node dapat ditentukan berdasarkan rumus
berikut :
 Asumsi root dimulai dari index 0 :
 Anak kiri dari node i berada pada indeks : 2*i+1
 Anak kanan dari node i berada pada indeks : 2*i+2
 Asumsi root dimulai dari index 1 :
 Anak kiri dari node i berada pada indeks : 2*i
 Anak kanan dari node i berada pada indeks : 2*i+1
 Teknik penelusuran seluruh node pada binary
tree.
 Ada 4 metode :
 PRE-ORDER
 IN-ORDER
 POST-ORDER
 LEVEL-ORDER
 Algoritma Pre-Order traversal :
1. Cetak data pada root
2. Secara rekursif mencetak seluruh data pada
sub pohon kiri
3. Secara rekursif mencetak seluruh data pada
sub pohon kanan
a

b c

a bc
a

b c

d e f

g h i j
a

b c

d e f

g h i j

a bdghe i c f j
/

* +

+ - e f

a b c d

/ * +a b - c d +e f
Gives prefix from of Expression!
 Algoritma In-Order traversal :
1. Secara rekursif mencetak seluruh data pada
sub pohon kiri
2. Cetak data pada root
3. Secara rekursif mencetak seluruh data pada
sub pohon kanan
a

b c

ba c
a

b c

d e f

g h i j
a

b c

d e f

g h i j

gdhbe i a f j c
/

* +

+ - e f

a b c d

a +b * c - d / e + f
Gives Infix from of Expression!
 Algoritma Post-Order traversal :
1. Secara rekursif mencetak seluruh data pada
sub pohon kiri
2. Secara rekursif mencetak seluruh data pada
sub pohon kanan
3. Cetak data pada root
a

b c

bc a
a

b c

d e f

g h i j
a

b c

d e f

g h i j

ghdi e bj f c a
/

* +

+ - e f

a b c d

a b +c d - * e f + /
Gives postfix from of Expression!
a

b c

d e f

g h i j

a bc de f ghi j
 Binary Search Tree disebut juga Ordered Binary
Tree
 Yaitu binary tree yang seluruh node-nya
terurut.
 Aturan : data pada sub tree kiri lebih kecil dari
data pada sub tree kanan.
 Membangun daftar vocabulary yang merupakan
bagian dari inverted index (sebuah struktur
data yang digunakan oleh banyak mesin pencari
seperti Google.com, Yahoo.com dan Ask.com)
 Banyak digunakan dalam bahasa pemrograman
untuk mengelola dan membangun dynamic
sets.
20
Root = 20

10 40

6 15 30

2 8 25
Aturan MinMax :
 Node yang bernilai lebih kecil dari root
diletakkan pada sub tree sebelah kiri.
 Node yang bernilai lebih besar dari root
diletakkan pada sub tree sebelah kanan.
 Jika ada nilai yang sama maka node tersebut di
overwrite.
Ada 3 kasus :
 Node adalah leaf/daun.

 Node memiliki degree 1

 Node memiliki degree 2


20

10 40

6 15 30

2 8 18 25 35

Remove a leaf element. Key = 7


20

10 40

6 15 30

2 8 18 25 35

Remove a leaf element. Key = 35


20

10 40

6 15 30

2 8 18 25 35

Remove from a degree 1 node. Key = 40


20

10 40

6 15 30

2 8 18 25 35

Remove from a degree 1 node. Key = 15


Sebagai pengganti node yang dihapus dengan
degree 2, aturannya sebagai berikut :
 Ambil node paling besar dari sub tree kiri, atau

 Ambil node paling kecil dari sub tree kanan


20

10 40

6 15 30

2 8 18 25 35

Remove from a degree 2 node. Key = 10


20

10 40

6 15 30

2 8 18 25 35

Replace with largest key in left sub tree (or


smallest in right sub tree.)
20

10 40

6 15 30

2 8 18 25 35

Replace with largest key in left sub tree (or


smallest in right sub tree.)
20

8 40

6 15 30

2 8 18 25 35

Replace with largest key in left sub tree (or


smallest in right sub tree.)
20

10 40

6 15 30

2 8 18 25 35

Remove from a degree 2 node. Key = 20


20

10 40

6 15 30

2 8 18 25 35

Replace with largest in left sub tree


20

10 40

6 15 30

2 8 18 25 35

Replace with largest in left sub tree


18

10 40

6 15 30

2 8 18 25 35

Replace with largest in left sub tree


18

10 40

6 15 30

2 8 25 35

7
Operasi-operasi yang dilakukan pada binary
search tree meliputi :
1. Penambahan node

2. Penghapusan node

3. Pencarian node
 Penghapusan :
 Penghapusan node terkecil :
 Pencarian node terkecil :

Anda mungkin juga menyukai