Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut.

Presentasi serupa


Presentasi berjudul: "Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut."— Transcript presentasi:

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 * /

25

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


Download ppt "Tree. Tree (Pohon) Dalam dunia nyata, sebuah pohon memiliki : akar, cabang, daun. Dalam dunia komputer, pohon (tree) memiliki 3 (tiga) bagian tersebut."

Presentasi serupa


Iklan oleh Google