Matakuliah Tahun : T0034 / Perancangan & Analisis Algoritma : 2008 Pertemuan 21 BASIC SEARCH AND TRAVERSAL REVIEW TREE TRAVERSAL • Adalah proses mengunjungi setiap node dalam tree • Pre-order Traversal – parent–left–right • Level-order Traversal – parent–left–right (per level / kedalaman) • In-order Traversal – left–parent–right (teknik ini hanya berlaku bagi Binary Tree) • Post-order Traversal – left–right–parent [buku utama, bab 9.2] Bina Nusantara PRE-ORDER TRAVERSAL [buku utama, ilustrasi 9.6] Bina Nusantara LEVEL-ORDER TRAVERSAL [buku utama, ilustrasi 9.7] Bina Nusantara IN-ORDER TRAVERSAL [buku utama, ilustrasi 9.8] Bina Nusantara POST-ORDER TRAVERSAL [buku utama, ilustrasi 9.9] Bina Nusantara IMPLEMENTASI TREE DFS • Langkah-langkah : 1. 2. 3. 4. Mula-mula beri status 1 (warna putih) ke semua node Masukkan root node ke stack, set status 2 (warna orange) Ambil isi stack yang paling atas, set status 3 (warna hijau) Masukkan left child dan right child dari node yang baru saja diambil dari stack, set status 2 5. Ulangi langkah 3 sampai stack kosong atau data yang dicari ketemu • Langkah-langkah dalam istilah yang lebih ”teknis” : – – – – PUSH root node POP node X dari stack PUSH semua child node X yang baru saja diambil Kembali ke step 2 [buku utama, bab 9.2.1] Bina Nusantara TREE DFS (1) A B C Bina Nusantara E D F G TREE DFS (2) A B C E D F G A Stack Bina Nusantara TREE DFS (3) A B C E D F G A Stack Bina Nusantara TREE DFS (4) A B E B C D F G E Stack Bina Nusantara A TREE DFS (5) A B C E D F G E Stack Bina Nusantara A B TREE DFS (6) A B E C D C D F G E Stack Bina Nusantara A B TREE DFS (7) A B E D C D F G E Stack Bina Nusantara A B C TREE DFS (8) A B C E D F G E Stack Bina Nusantara A B C D TREE DFS (9) A B C E D F G A Stack Bina Nusantara B C D E TREE DFS (10) A B E F C D F G G Stack Bina Nusantara A B C D E TREE DFS (11) A B C E D F G G Stack Bina Nusantara A B C D E F TREE DFS (12) A B C E D F G A Stack Bina Nusantara B C D E F G IMPLEMENTASI TREE BFS • Langkah-langkah : 1. 2. 3. 4. Mula-mula beri status 1 (warna putih) ke semua node Masukkan root node ke queue, set status 2 (warna orange) Ambil isi queue yang paling depan (paling bawah), set status 3 (warna hijau) Masukkan left child dan right child dari node yang baru saja diambil dari queue, set status 2 5. Ulangi langkah 3 sampai queue kosong atau data yang dicari ketemu • Langkah-langkah dalam istilah yang lebih ”teknis” : – – – – PUSH root node POP node X dari queue PUSH semua child node X yang baru saja diambil Kembali ke step 2 [buku utama, bab 9.2.2] Bina Nusantara TREE BFS (1) A B C Bina Nusantara E D F G TREE BFS (2) A Queue B C Bina Nusantara E D F G A TREE BFS (3) A Queue B C Bina Nusantara E D F G A TREE BFS (4) A Queue B E E C Bina Nusantara D F G B A TREE BFS (5) A Queue B C Bina Nusantara E D F G E A B TREE BFS (6) A Queue B E D C C Bina Nusantara D F G E A B TREE BFS (7) A Queue B E D C Bina Nusantara D F G C A B E TREE BFS (8) A G B E Queue F D C Bina Nusantara D F G C A B E TREE BFS (9) A Queue B E G F C Bina Nusantara D F G D A B E C TREE BFS (10) A Queue B E G C Bina Nusantara D F G F A B E C D TREE BFS (11) A Queue B C Bina Nusantara E D F G G A B E C D F TREE BFS (12) A Queue B C Bina Nusantara E D F G A B E C D F G IMPLEMENTASI GRAPH DFS • Langkah-langkah : 1. 2. 3. 4. 5. Nyatakan graph dengan Adjacency List Set semua node status 1 Masukkan node awal ke stack, set status 2 Ambil top stack, set status 3 Masukkan node yang adjacent dengan yang baru diambil yang status 1 ke stack, set status 2 6. Ulangi langkah-langkah di atas hingga stack kosong atau data yang dicari ditemukan [buku utama, bab 9.2.3] Bina Nusantara HASIL DFS [buku utama, ilustrasi 9.13] Bina Nusantara IMPLEMENTASI GRAPH BFS • Langkah-langkah : 1. Nyatakan graph dengan Adjacency List 2. Set semua node status 1 3. Masukkan node awal ke queue, set status 2 4. Ambil queue terdepan, set status 3 5. Masukkan node yang adjacent dengan yang baru diambil yang status 1 ke queue, set status 2 6. Ulangi langkah-langkah di atas hingga queue kosong atau data yang dicari ditemukan [buku utama, bab 9.2.4] Bina Nusantara HASIL BFS [buku utama, ilustrasi 9.14] Bina Nusantara LATIHAN • Lakukan implementasi DFS dan BFS pada graph berikut : Bina Nusantara REVIEW • Apa yang sudah dipahami? • Apa yang akan dibahas selanjutnya? Bina Nusantara
© Copyright 2026 Paperzz