Skip to main content

bfs

Function bfs 

Source
pub fn bfs(g: &Graph, start: usize) -> Vec<usize>
Expand description

BFS (Breadth-First Search) — kenglikka qidiruv: to’lqin kabi tarqaladi.

G’oya: navbat (queue) ishlatamiz. Avval boshlang’ich tugunning barcha qo’shnilarini ko’ramiz, keyin ularning qo’shnilarini — ya’ni qavat-qavat.

Shu sababli og’irliksiz grafda BFS eng qisqa yo’lni topadi.

  • Time: O(V + E), Space: O(V).

Qaytadi: tugunlarni ko’rilgan tartibda.

§Misol

use rust_algorithms::graph::{Graph, bfs};

//  0 — 1 — 3
//  |
//  2
let mut g = Graph::new_undirected(4);
g.add_unweighted_edge(0, 1);
g.add_unweighted_edge(0, 2);
g.add_unweighted_edge(1, 3);

assert_eq!(bfs(&g, 0), vec![0, 1, 2, 3]);