Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehDonny Riki Telah diubah "9 tahun yang lalu
1
Tree
2
Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut namun dalam definisi yang lain.
3
Linear List dan Tree Linear list digunakan untuk data yang terurut secara serial. –Contoh : nama mahasiswa satu kelas, nama hari dalam minggu, nama bulan dalam tahun, dll. Tree digunakan untuk data yang terurut secara hirarki (one to many). –Contoh : tingkatan pegawai dalam perusahaan (direktor, manager, kepala divisi, dst), tingkatan class di Java, dll.
4
Contoh Tree Struktur organisasi sebuah perusahaan
5
Contoh Tree isi sebuah buku
6
Contoh Tree File system
7
Definisi Tree adalah Kumpulan element yang saling terhubung secara hirarki (one to many). Element pada tree disebut node. Aturan : 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.
8
Contoh Tree Terdiri dari 8 node/element. Root? Daun? A C F G ED B H Root : Node A Daun : Node G, Node H, Node F
9
great grand child of root grand children of root children of root Example : Java’s Classes Object NumberThrowable OutputStream IntegerDoubleException FileOutputStream RuntimeException root
10
Root Root (Node Root) adalah node yang memiliki hirarki tertinggi. Node yang pertama kali dibentuk. Sehingga tidak memiliki parent (node induk). Penelusuran path tiap node dimulai dari root. Subtree adalah node-node lain dibawah root yang saling terhubung satu sama lain secara hirarki.
11
Root and Subtrees Object NumberThrowable OutputStream IntegerDoubleException FileOutputStream RuntimeException root Subtree 1 Subtree 2 Subtree 3
12
Levels Level adalah posisi hirarki dari sebuah node. Level 4 Level 3 Level 2 Object NumberThrowable OutputStream IntegerDoubleException FileOutputStream RuntimeException Level 1
13
Istilah pada Tree
14
Contoh Tree D H E I C F B A J G
15
Latihan Ancestor (F)? Descendant (B)? Parent (I)? Child (C)? Sibling (G)? Size? Height? Root? Leaf? Degree (C)?
16
Latihan Jawaban : Ancestor (F) = C,A Descendant (B) = D atau E Parent (I) = H Child (C) = F,G,H Sibling (G) = F,H Size = 9 Height = 4 Root = A Leaf = D,E,F,G,I Degree (C) = 3
17
Latihan Gambarkan tree dari representasi berikut: D F D B K J K L B A B C H D H K F E F G J I Tentukan : 1.Root 2.Leaf 3.Heigth 4.Child H 5.Parent A
18
Representasi Tree? Database, file xml. Paling mudah menggunakan database.
19
Binary Tree
20
Binary Tree (Pohon Biner) Pada sebuah pohon biner, tiap node memiliki tepat 2 sub-tree (memiliki maksimal 2 cabang/degree).
21
Contoh binary tree R ST X W UV Y Z
22
Contoh Binary Tree Representasi ekspresi arithmatik
23
Latihan Buatlah Binary tree dari ekspresi aritmatik berikut : (a + b) * (c – d) / (e + f)
24
Binary Tree (a + b) * (c – d) / (e + f) / + a b - c d + e f * /
26
Representasi Binary Tree Binary tree dapat direpresentasikan dengan menggunakan array maupun linked list.
27
Akses Elemen 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
28
Contoh H DK BFJL ACEG I
29
Representasi Tree HDKBFJLACEGI Representasi tree menggunakan array (asumsi root pada index 0) : 01 2 34 5 6 7 89 10 11 HDKBFJLACEGI 01 2 34 5 6 7 89 10 11 1212 Representasi tree menggunakan array (asumsi root pada index 1):
30
Linked Representation H KD B A L J I leftChild elementrightChild root F C E G
31
Latihan Representasikan dengan ilustrasi array dan linked list. b a c d e f g hi j 1 23 4567 8 910
32
Array Representation tree[] 0 510 abcdefghij b a c d e f g hi j 1 23 4567 8 9 0 5
33
Full Binary Tree Tiap subtree memiliki panjang path yang sama. Disebut juga maximum binary tree.
34
Complete Binary Tree Seluruh node sebelah kiri terisi seluruhnya. Node sebelah kanan pada level n-1 ada yang kosong. H DK BFJL ACEG I
35
Incomplete Binary Tree Gambar a Gambar b
36
Skewed Binary Tree Binary tree yang semua nodenya (kecuali leaf) hanya memiliki satu anak. Disebut juga minimum binary tree. Right Skewed Left Skewed
37
Binary Tree Traversal
38
Definisi Penelusuran seluruh node pada binary tree. Metode : –Preorder –Inorder –Postorder –Level order
39
PreOrder Traversal Preorder traversal 1.Cetak data pada root 2.Secara rekursif mencetak seluruh data pada subpohon kiri 3.Secara rekursif mencetak seluruh data pada subpohon kanan
40
Preorder Example (visit = print) a bc a b c
41
a bc d e f g hi j abdgheicfj
42
Preorder Of Expression Tree + ab - c d + ef * / Gives prefix form of expression! /*+ab-cd+ef
43
InOrder Traversal Inorder traversal 1.Secara rekursif mencetak seluruh data pada subpohon kiri 2.Cetak data pada root 3.Secara rekursif mencetak seluruh data pada subpohon kanan
44
Inorder Example (visit = print) a bc bac
45
a bc d e f g hi j gdhbeiafjc
46
Postorder Traversal Postorder traversal 1.Secara rekursif mencetak seluruh data pada subpohon kiri 2.Secara rekursif mencetak seluruh data pada subpohon kanan 3.Cetak data pada root
47
Postorder Example (visit = print) a bc bca
48
a bc d e f g hi j ghdiebjfca
49
Postorder Of Expression Tree + ab - cd + e f * / Gives postfix form of expression! ab+cd-*ef+/
50
Level Order Secara rekursif mencetak data mulai dari level tertinggi
51
Level-Order Example (visit = print) a bc d e f g hi j abcdefghij
52
Latihan Telusuri pohon biner berikut dengan menggunakan metode pre, in, post, dan level traversal.
53
Latihan 1 1 3 11 98 46 5 7 12 10
54
Latihan 2 6 15 8 2 37 11 10 14 12 20 27 22 30
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.