Tim Struktur Data Program Studi Teknik Informatika UNIKOM

  • Slides: 21
Download presentation
Tim Struktur Data Program Studi Teknik Informatika UNIKOM

Tim Struktur Data Program Studi Teknik Informatika UNIKOM

Penelusuran Binary Tree Sebelum menjelaskan pembuatan pohon biner (binary tree) dari hasil penelusuran, akan

Penelusuran Binary Tree Sebelum menjelaskan pembuatan pohon biner (binary tree) dari hasil penelusuran, akan dijelaskan terlebih dahulu bagaimana menelusuri pohon biner (binary tree) Tim Struktur Data Program Studi Teknik Informatika

Penelusuran Binary Tree Jenis Penelusuran - Preorder - Inorder - Postorder Tim Struktur Data

Penelusuran Binary Tree Jenis Penelusuran - Preorder - Inorder - Postorder Tim Struktur Data Ketentuan Node–Left–Right(NLR) Left–Node-Right(LNR) Left–Right-Node(LRN) Program Studi Teknik Informatika

Contoh Penelusuran 1 Hasil penelu- ada Dimisalkan suran dari pohon sebuah pohon biner tersebut

Contoh Penelusuran 1 Hasil penelu- ada Dimisalkan suran dari pohon sebuah pohon biner tersebut biner sebagai adalah: berikut Preorder (NLR) : H AC BK J L Inorder (LNR) : ABCH JK L Postorder (LRN): BC AJ LKH H A K C J L B Tim Struktur Data Program Studi Teknik Informatika

Contoh Penelusuran 2 A B D C E I F Preorder (NLR) : A

Contoh Penelusuran 2 A B D C E I F Preorder (NLR) : A BDE IC FG H A Inorder (LNR) : D IE BF GH C Postorder (LRN): IED HG F C B A G H Tim Struktur Data Program Studi Teknik Informatika

Latihan Penelusuran(1) 1. Tentukan preorder, inorde dan postorder dari ekspresi ini: E = A

Latihan Penelusuran(1) 1. Tentukan preorder, inorde dan postorder dari ekspresi ini: E = A + BD 3 – 2 F GK K Tim Struktur Data Program Studi Teknik Informatika

Jawaban Latihan 1 E = (A+B*D^3) / (G*K) – 2*F/K E = A +

Jawaban Latihan 1 E = (A+B*D^3) / (G*K) – 2*F/K E = A + BD 3 – 2 F GK K - / / + * A G K * * K 2 F ^ B D 3 Preorder (NLR) : -, /, +, A, *, B, ^, D, 3, *, G, K, /, *, 2, F, K Inorder (LNR) : A, +, B, *, D, ^, 3, /, G, *, K, -, 2, *, F, /, K Postorder (LRN): A, B, D, 3, ^, *, +, G, K, *, /, 2, F, *, K, /, Tim Struktur Data Program Studi Teknik Informatika

Latihan Penelusuran(2) 2. Buatlah pohon binernya dari general tree di bawah ini, kemudian tentukan

Latihan Penelusuran(2) 2. Buatlah pohon binernya dari general tree di bawah ini, kemudian tentukan preorder, inorder, dan postorder. A B D R Tim Struktur Data I C E F G H P Q Program Studi Teknik Informatika

Jawaban Latihan No. 2 A Preorder (NLR) : ABDIRQECFGHP Inorder (LNR) B : DRQIEBFGHPCA

Jawaban Latihan No. 2 A Preorder (NLR) : ABDIRQECFGHP Inorder (LNR) B : DRQIEBFGHPCA Postorder (LRN): QREIDPHGFCBA D C F I R E Q G H P Tim Struktur Data Program Studi Teknik Informatika

Penelusuran Binary Tree Pem bua ari h tandippreorder min dpertama Simbol asil ohon b

Penelusuran Binary Tree Pem bua ari h tandippreorder min dpertama Simbol asil ohon b ima pen iner l dik root, akan dijadikan e e l u sura ene tahumemiliki i d karena ppreorder ua h n lusu asil ran, ketentuan Node-Left-Right, s con epe t rti o h pemindaian dari kiri berke ikut kanan Contoh 1: Preorder : B DE IC FHG J Inorder : D IE BHFGCJ E di Inorder B, Simbol Contoh pada D disebelah Inorder kiri akan tp B sudah punya anak dijadikan sebelah kiri patokan B, karena apakah Bkiri D, E di berikutnya Inorder sebelah simbol belum punya anak dikiri kanan maka ke E anak menjadi preorder maka D, D menjadi harus subtree kiri anak kanan D, dst. kiri B atau subtree kanan B D C E I Tim Struktur Data J F H G Program Studi Teknik Informatika

Penelusuran Binary Tree Contoh 2: Inorder : D IE BHFGCJ Postorder : IEDHG FJCB

Penelusuran Binary Tree Contoh 2: Inorder : D IE BHFGCJ Postorder : IEDHG FJCB Sama seperti contoh Inorder ada disebelah JC didi. Inorder ada disebelah sebelumnya hanya kanan B, tp karena B belum kanan B, BInorder sudah punya untukkanan menentukan apakah punya anak C, kanan maka C anak J di Inorder harus ke anak subtree kiri atau menjadi kanan B ada disebelah kanan C, subtreekanan maka J menjadi anak kanan C, begitu seterusnya Simbol terkanan di Postorder akan dijadikan root, karena Postorder memilki ketentuan Left. Right-Node, pemindaian dari kanan ke kiri B D C E I Tim Struktur Data J F H G Program Studi Teknik Informatika

Latihan Buatlah pohon binernya dari hasil penelusuran berikut: a. Inorder : BCDFGKMPSUWY Preorder :

Latihan Buatlah pohon binernya dari hasil penelusuran berikut: a. Inorder : BCDFGKMPSUWY Preorder : MFDBCKGSPWUY b. Postorder : EGHCIMFBNPJLKDA Inorder : EBGCHFMIANJPDLK Silahkan dikerjakan sebagai latihan dan tidak perlu dikumpulkan Tim Struktur Data Program Studi Teknik Informatika

Penelusuran Menggunakan Stack Selain yang sudah dijelaskan, untuk menelusuri pohon biner bisa menggunakan Stack,

Penelusuran Menggunakan Stack Selain yang sudah dijelaskan, untuk menelusuri pohon biner bisa menggunakan Stack, dimana setiap node yang ada dipandang sebagai sebuah simpul double linked list yang memiliki dua pointer sambungan yaitu left son (anak kiri) dan right son (anak kanan) seperti penjelasan berikut ini: Tim Struktur Data Program Studi Teknik Informatika

Kemudian RS B (anak kanan B) Penelusuran selalu dimulai Simbol yang B memiliki dua

Kemudian RS B (anak kanan B) Penelusuran selalu dimulai Simbol yang B memiliki dua telusuri ke adalah C, push C punya dua dari Root (akar), akar dari dilingkari harus anak, maka Telusuri ke subtree kiri anakini maka Push pohon adalah B anak sama dengan anak kanannya ada F, dan F hanya punya D hanya punya satu anak ada D kanannya (RS C) cara tanpa Stack satu anak yaitu anak kanan, berartiyaitu anak AG tidak punya(NLR) anak dan isi Preorder : BDEICFGHA B kanan (G), hanya langsung ke anak Stack sudah kosong, LS RS LS punya kanan (H) kanannya yaitu E anak Head B D E I C maka penelusuran selesai Penelusuran Menggunakan Stack D C RS B E F I A G LS F RS G RS B RS H RS C A RS C E hanya punya satu anak. H H tidak punya anak maka yaitu anak kiri ( I ), lalu I Aturan: memiliki Pop isi Stack yaitu RS 2 C, anak, maka Push tidak punya. Jika anak. Node maka yang ditinjau anak punya RStidak C adalah A anak, maka Pop isi stack. Pop isi kanannya teratas stack (RS). yaitu Jika Catatan : panah ke bawah berarti Push, panah ke atas RS B berarti Pop, LS = Left Son, RS = Right Son Preorder seluruhnya dicetak, maka beri tanda lingkaran Tim Struktur Data Program Studi Teknik Informatika

Simbol yang BBpunyaanak kanan yaitu Telusuri ke dilingkari harus C, maka dan CPush punya

Simbol yang BBpunyaanak kanan yaitu Telusuri ke dilingkari harus C, maka dan CPush punya anak kiri punya anak subtree kiri ada C kiri, sama dengan alamat (address) maka Push kanan yaitu A Address C D Telusuri ke A tidak punya anak dan cara tanpa Stack B punya F tidak subtree kiri ada F Stack. Inorder sudah kosong maka: DIEBFGHCA (LNR) B anak kiri tapi selesai LS punya anak penelusuran kanan RS LS Head B D E I E H tidak punya G yaitu G D C anak maka Pop isi kiri tapi teratasanak Stackkanan yaitu Add. B punya Add. E Add. B Address yaitu E F AH C Penelusuran Menggunakan Stack B RS C LS F RS G RS H I G Add. C Dtidakpunya anak kanan, EE anakmaka kiri, isi tapi kiri, Push maka Pop teratas Stack RS A H C punya anak alamat (address) yaitu B Telusuri ke Address subtree kiri kanan yaitu E E ada I, dan I tidak punya Aturan: Jika Node yang ditinjau memiliki anak kiri (LS), maka anak maka Pop isi teratas Push alamat dirinya (Address). Jika tidak punya anak, maka Pop Stack yaitu Address E isi stack. Catatan : Add = Address (alamat) Inorder yang dicetak seluruhnya kecuali yang ada tanda Push Tim Struktur Data Program Studi Teknik Informatika

Simbol yang dilingkari D memiliki B punya dua anak Penelusuran sudah sampai C memiliki

Simbol yang dilingkari D memiliki B punya dua anak Penelusuran sudah sampai C memiliki dua maka anak Telusuri kesatu anak, Dari C backtrack ke harus sama dengan Dari DPush akan ke maka Push Address Balamat dan sudah Push root dan isi Stack maka subtree kiri alamat ke root dengan cara tanpa Stack anak kanannya BC) dirinya anak kanannya (RS maka penelusuran dirinya (Address B ada D(Address D)kosong, Pop Address B B) dengan cara Pop Dari F akan keanak, anak A tidak punya selesai dan Push anak Postorder (LRN) : IEDHGFACB RS B yaitu CPop. C)C B kanannya maka isidengan teratas kanannya (RS Telusuri ke LS RS LS cara Pop RS CB yaitu Stack yaitu Address Head D E I E subtree kanan D, C A D C ada E Telusuri ke Add. B Add. D Add. E Add. D subtree kanan F, RS B E F ada GA Telusuri ke D C LS F RS G RS H subtree kanan G, I G FTelusuri memilikikesatu anak ada H RS B Add. C Add. F Add. G E memiliki satu anak, RS C maka Push alamat Dari EPush naik ke Dada. H subtree kiri C, Telusuri ke maka alamat Dari G backtrack ke G Imemiliki satu(Address anak tidak punya anak, dirinya F) dengan cara F B subtree kiri E, Pop ada. Pop. E)isi G F A C dirinya (Address Fmaka dengan cara maka Push alamat Pop isi teratas Stack yaitu I teratas isi Stack dirinya (Address G) E Stack yaitu Address D H tidak memiliki yaitu Address F anak Penelusuran Menggunakan Stack Add. F RS C Add. B maka Pop isi teratas Aturan: Jika Node yang ditinjau memiliki 2 anak, maka Push alamat Stack yaitu Address G dirinya dan anak kanannya (RS). Tapi jika hanya memiliki satu anak, maka Push alamat dirinya. Jika tidak punya anak, maka Pop isi stack. Postorder yang dicetak seluruhnya kecuali yang ada tanda Push Tim Struktur Data Program Studi Teknik Informatika

Latihan Tentukan penelusuran dari pohon biner di bawah ini dengan menggunakan Stack! A B

Latihan Tentukan penelusuran dari pohon biner di bawah ini dengan menggunakan Stack! A B D E I Tim Struktur Data C H F Program Studi Teknik Informatika

Jawaban(1) A B C D E I H F Preorder (NLR) : ABDEIFCH Head

Jawaban(1) A B C D E I H F Preorder (NLR) : ABDEIFCH Head A RS A Tim Struktur Data LS B RS B LS LS D E RS B RS E I F RS E RS A C RS RS H Program Studi Teknik Informatika

Jawaban(2) Inorder (LNR) : DBIEFACH A B Head C A LS Add. A D

Jawaban(2) Inorder (LNR) : DBIEFACH A B Head C A LS Add. A D E I H F RS E D B Add. B LS I E RS C RS RS RS F Add. A Add. E A Tim Struktur Data LS B H Program Studi Teknik Informatika

Jawaban(3) Postorder (LRN) : DIFEBHCA A B Head C A LS Add. A RS

Jawaban(3) Postorder (LRN) : DIFEBHCA A B Head C A LS Add. A RS A D E Add. B RS B F I F D E RS B Add. E RS E C E RS B Add. E Add. B RS A RS E RS Add. C Tim Struktur Data LS H LS I B H C A Add. C Add. A Program Studi Teknik Informatika

Tim Struktur Data Program Studi Teknik Informatika - UNIKOM

Tim Struktur Data Program Studi Teknik Informatika - UNIKOM