Advertisement

图论中最短路BF算法

阅读量:

过去常常将诸多算法视为黑箱进行应用,然而在实际解题过程中发现,原算法本身并不会被直接考查,因此必须深入理解算法的核心思想,并在此基础上加以改进,实际上这一过程并不复杂,只要保持冷静即可。
今日首先学习BF算法,其整体思路十分清晰,相应的代码实现也较为容易掌握。

复制代码
    #include <iostream>
    
    using namespace std;
    
    const int INF = 1e9 + 7;
    const int MAX_V = 100;
    const int MAX_E = 100;
    
    struct edge { int from, to, cost; };
    
    edge es[MAX_E];
    
    int d[MAX_V];
    int V, E;
    
    void shortest_path(int s) {
    for (int i = 0; i < V; i++) d[i] = INF;
    d[s] = 0;
    while (1) {
        bool update = false;
        for (int i = 0; i < E; i++) {
            edge e = es[i];

全部评论 (0)

还没有任何评论哟~