1 / 18

Graph Traversals (Penelusuran Graph)

Graph Traversals (Penelusuran Graph). Oleh : Nur Hayatin, S.ST. Teknik Informatika - Universitas Muhammadiyah Malang (UMM) Tahun Akademik 2010-2011. Sub Topik. BFS DFS. Penelusuran Graph. Metode Penelusuran. Graph Traversal : Mengunjungi tiap simpul/node secara sistematik. Metode :

kendis
Télécharger la présentation

Graph Traversals (Penelusuran Graph)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Graph Traversals(Penelusuran Graph) Oleh : Nur Hayatin, S.ST Teknik Informatika - Universitas Muhammadiyah Malang (UMM) Tahun Akademik 2010-2011

  2. Sub Topik • BFS • DFS

  3. Penelusuran Graph

  4. Metode Penelusuran • Graph Traversal : Mengunjungi tiap simpul/node secara sistematik. • Metode : • DFS (Depth First Search) : Pencarian Mendalam • BFS (Breadth First Search) : Pencarian Melebar

  5. Breadth First Search

  6. Algoritma BFS • Traversal dimulai dari simpul v. • Algoritma: • Kunjungi simpul v, • Kunjungi semua simpul yang bertetangga dengan simpul v terlebih dahulu. • Kunjungi simpul yang belum dikunjungi dan bertetangga dengan simpul-simpul yang tadi dikunjungi, demikian seterusnya.

  7. Breadth First Search (BFS) • Pada setiap pencabangan penelusuran verteks-verteks yang belum dikunjungi dilakukan pada verteks-verteks adjacent, kemudian berturut-turut selengkapnya pada masing-masing pencabangan dari setiap verteks adjacent tersebut secara rekursif.

  8. Breadth First Search (BFS) Urutan verteks hasil penelusuran :

  9. Breadth First Search (BFS) …. ….

  10. Algoritma BFS • BFS diawali dengan vertex yang diberikan, yang mana di level 0. Dalam stage pertama, kita kunjungi semua vertex di level 1. Stage kedua, kita kunjungi semua vertex di level 2. Disini vertex baru, yang mana adjacent ke vertex level 1, dan seterusnya. Penelusuran BFS berakhir ketika setiap vertex selesai ditemui.

  11. Implementasi algoritma BFS • Algoritma BFS menjadi kurang straightforward jika dinyatakan secara rekursif. Jadi sebaiknya di-implementasikan secara nonrekursif dengan memanfaatkan queue sebagai struktur data pendukung.

  12. Depth First Search

  13. Algoritma DFS • Traversal dimulai dari simpul v. • Algoritma: • Kunjungi simpul v, • Kunjungi simpul w yang bertetangga dengansimpul v. • Ulangi DFS mulai dari simpul w. • Ketika mencapai simpul u sedemikian sehingga semua simpul yang bertetangga dengannya telah dikunjungi, pencarian dirunut-balik (backtrack) ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul w yang belum dikunjungi. • Pencarian berakhir bila tidak ada lagi simpul yang belum dikunjungi yang dapat dicapai dari simpul yang telah dikunjungi.

  14. Depth First Search (DFS) • Pada setiap pencabangan, penelusuran verteks-verteks yang belum dikunjungi dilakukan secara lengkap pada pencabangan pertama, kemudian selengkapnya pada pencabangan kedua, dan seterusnya secara rekursif.

  15. Depth First Search (DFS) Urutan verteks hasil penelusuran :

  16. Depth First Search (DFS) …. ….

  17. Algoritma DFS a. Algoritma diawali pada vertex S dalam G b. Kemudian algoritma menelusuri graph dengan suatu insiden edge (u,v) ke current vertex u. c. Jika edge (u, v) menunjuk ke suatu vertex v yang siap untuk dikunjungi, maka kita ikuti jalur mundur ke current vertex u. Jika pada sisi lain, edge (u, v) menunjuk ke vertex v yang tidak dikunjungi, maka kita pergi ke v dan v menjadi current vertex. d. Kita proses ini hingga kita mencapai sasaran akhir. e. Pada titik ini, kita mulai jalur mundur. Proses ini berakhir ketika jalur mundur menunjuk balik ke awal vertexmundur vertex.

  18. Pustaka • Sartaj Sahni , “Data Structures & Algorithms”, Presentation L20-24. • Mitchell Waite, “Data Structures & Algorithms in Java”, SAMS, 2001

More Related