美文网首页
广度优先搜索

广度优先搜索

作者: 海卓治 | 来源:发表于2017-05-06 22:52 被阅读0次
#include <bits/stdc++.h>
#define N 10001
using namespace std;

int n, m;
int head[N], sumedge;
bool vis[N];

struct Edge {
    int x, y, z, next;
    Edge(int x = 0, int y = 0, int z = 0, int next = 0) :
        x(x), y(y), z(z), next(next) {}
} edge[N * 2];

void ins(int x, int y, int z) {
    edge[++sumedge] = Edge(x, y, z, head[x]);
    head[x] = sumedge;
    return;
}

void bfs() {
    queue<int> q;
    vis[1] = 1;
    q.push(1);
    while (q.size()) {
        int t = q.front();
        printf("%d ", t);
        q.pop();
        for (int u = head[t]; u; u = edge[u].next) {
            if (!vis[edge[u].y] && edge[u].z != 0) {
                vis[edge[u].y] = 1;
                q.push(edge[u].y);
            }
        }
    }
}

int main() {
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= m; i++) {
        int x, y;
        scanf("%d%d", &x, &y);
        ins(x, y, 1);
    }
    bfs();
}

相关文章

  • 搜索

    一、深度优先搜索 图深度优先遍历、深度优先搜索算法求有权图两点最短路径 二、广度优先搜索 图广度优先遍历、广度优先...

  • 图的遍历

    结构 深度优先搜索 广度优先搜索

  • 深度优先搜索和广度优先搜索

    一、深度优先搜索 二、广度优先搜索

  • 深度优先广度优先

    深度优先搜索 广度优先搜索(队列实现)

  • LeetCode广度、深度优先搜索

    广度优先搜索 广度优先搜索(也称宽度优先搜索,缩写BFS即即Breadth First Search)是连通图的一...

  • 广度优先搜索算法

    上一篇简书小编分享了“深度优先搜索”算法,今天小编继续分享下“广度优先搜索”算法。 一、何为“广度优先搜索” 广度...

  • 算法与数据结构 之 搜索算法

    搜索分为广度优先搜索、深度优先搜索、A*算法。 一、广度优先算法(BFS) 1.1、基本实现和特性:BFS是从一个...

  • 广度优先搜索算法(BFS)

    广度优先搜索算法(BFS) 标签(空格分隔): algorithm 1.广度优先搜索算法(Breadth Firs...

  • 6.2 BFS与DFS

    广度优先搜索(BFS)自顶点s的广度优先搜索(Breadth-First Search)(1) 访问顶点s(2) ...

  • 算法之广度优先搜索(BFS)

    图算法——广度优先搜索 (breadth-first search,BFS)。广度优先搜索让你能够找出两样东西之间...

网友评论

      本文标题:广度优先搜索

      本文链接:https://www.haomeiwen.com/subject/rjbytxtx.html