15、图遍历算法:广度优先搜索、深度优先搜索及其应用

图遍历算法:广度优先搜索、深度优先搜索及其应用

1. 广度优先搜索(Breadth-First Search)

广度优先搜索(BFS)是一种重要的图遍历算法。在遍历过程中,图中的每个节点都会从“未发现”状态转变为“已发现”状态。在无向图的广度优先搜索中,我们为每条边指定一个方向,从发现者节点 u 指向被发现节点 v ,并将 u 记为 v 的父节点 p[v] 。除根节点外,每个节点都有唯一的父节点,这就定义了图顶点上的一棵树。这棵树定义了从根节点到树中每个其他节点的最短路径,这一特性使得广度优先搜索在最短路径问题中非常有用。

以下是基本的广度优先搜索算法:

BFS(G,s)
    for each vertex u in G
        state[u] = "undiscovered"
        p[u] = nil, i.e. no parent is in the BFS tree
    state[s] = "discovered"
    p[s] = nil
    Q = [s]
    while Q is not empty
        u = dequeue[Q]
        process vertex u as desired
        for each neighbor v of u
            process edge (u,v) as desired
            if state[v] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值