算法可视化
数据结构
图的广度优先遍历 BFS
BFS:从起点出发,一层一层向外扩散,先访问所有距离为 1 的,再访问距离为 2 的(用队列实现)。
main.cpp第 12 行
1// BFS: 广度优先遍历(一层一层扩散, 用队列)
2void bfs(int start) {
3 queue<int> q; q.push(start);
4 visited[start] = true;
5 while (!q.empty()) {
6 int u = q.front(); q.pop();
7 cout << u << " ";
8 for (int v : adj[u])
9 if (!visited[v]) { visited[v] = true; q.push(v); }
10 }
11}
12// 调用: bfs(0) 图: 0-1, 0-2, 1-3, 2-3, 2-4
变量表0 个变量
还没有变量,执行到声明语句后出现
图(节点 + 边)
1/11
从节点 0 开始 BFS,起点入队,队列: [0]
1 / 11