 BFS'yi c++ ile yazın.
Grafiği temsil etmek için bir bitişiklik listesi kullanılarak C++'da BFS'nin örnek bir uygulaması aşağıda verilmiştir: ``` #include <iostream> #include <queue> #include <vector> using namespace std; geçersiz bfs(vektör<vektör<int>>& grafik, int başlangıç) { int n = grafik.size(); vektör<bool> ziyaret edildi(n, yanlış); sıra<int> q; q.push(başlat); ziyaret edildi[başlangıç] = doğru; while (!q.empty()) { int düğüm = q.front(); q.pop(); // Düğümle bir şeyler yapın (örn. yazdır) cout << düğüm << " "; for (int komşu : grafik[düğüm]) { if (!ziyaret edilen[komşu]) { q.push(komşu); ziyaret edilen[komşu] = doğru; } } } } int main() { int n, m; // n = düğüm sayısı, m = kenar sayısı cin >> n >> m; // Grafik vektörünü oluştur<vektör<int>>graph(n); for (int ben = 0; ben < m; i++) { int a, b; cin >> bir >> b; // a'dan b'ye kenar ekle graf[a].push_back(b); // yönlenmemişse b'den a'ya kenar ekle //graph[b].push_back(a); } // 0 düğümünden başlayarak BFS gerçekleştir bfs(grafik, 0); 0 dönüşü; } `` Bu uygulama, kullanıcı girişi olarak `n` (düğüm sayısı) ve `m` (kenar sayısı) değerlerini alır, grafiğin bir bitişiklik listesi temsilini oluşturur ve 0 düğümünden başlayarak bir BFS gerçekleştirir. , düğümler ziyaret edildikleri sırayla yazdırılır.