Node 0 sebagai node awal. Pertama, kita enqueue ke barisan visited dan semua
barisan yang adjacent ke barisan queue.
Selanjutnya, kita ambil salah satu node untuk di proses kit ambil contoh 1. Kita
tandai node tersebut sebagai visited dengan menghapus dari barisan queue dan letakkan
node yang adjacent di barisan queue (2 dan 3 sudah ada di barisan queue). Karena 0
sudah di kunjungi (visited,) kita hiraukan.
Selanjutnya, kita dequeue node 2 dan tandai sebagai visited. Lalu, node 4 yang
ber adjcanet dengan node 2, kita tambahkan ke barisan queue.
Selanjutnya, kita dequeue 3 dari barisan queue dan tandai sebagai visited. Node
3 hanya memiliki 1 node yang adjacent yaitu node 0 ,yang sebelumnya telah dikunjungi.
Karena itu, kita hiraukan.
Sekarang, hanya node 4 yang terdapat di barisan queue. Node yang ber adjacent
dengan node 4, yaitu node 2 telah dikunjungi, karena itu kita hiraukan. Sekarang kita
tandai node 4 sebagai visited.
Jika kita observasi graph yang diberikan dan sequence perjalanannya, kita bisa
lihat bahwa untuk algoritma BFS , kita harus melintasi graph breadth-wise dan
melanjutkan ke tahap berikutnya.
Graph traversal
Graph traversal artinya menelusuri setiap vertex (verteks) dan edge (tepi)
satu kali dalam urutan yang tetap. Saat menggunakan algoritme graf tertentu,
Anda harus memastikan semua verteks dalam graf ditelusuri hanya sekali.
Urutan penelusuran verteks amat sangat penting dan urutan tersebut harus
dirancang berdasar pada algoritme atau persoalan yang ingin diselesaikan.
Dalam hal ini, penting bagi Anda untuk melacak verteks mana yang sudah
ditelusuri. dan cara paling mudah untuk melacaknya adalah dengan menandai
verteks.
Program
Penjelasan
Jumlah Vertecs
Pointer untuk aray yang tertampung dalam daftar node yang ber adjacent
Konstruktor
Menambahkan w ke daftar v
Mendapatkan semua vertecs yang ber adjacent dan diproses satu persatu jika belum dikunjungi
Program utama
Membuat graph
DEPTH FIRST SEARCH (DFS)
Tidak seperti BFS dimana menjelajahi node secara luas, algoritma DFS
menjelajahi node secara mendalam. DFS menggunakan struktur data stack
(tumpukan) untuk menyimpan node yang sedang dijelajahi. Edge yang
mengarahkan kita ke node yang belum dijelajahi disebut ' discovery edges'
sedangkan edge yang mengarah ke node yang sudah dikunjungi disebut ' block
edges'.