当前位置: 首页>>代码示例>>C++>>正文


C++ Dijkstra::shortestPath方法代码示例

本文整理汇总了C++中Dijkstra::shortestPath方法的典型用法代码示例。如果您正苦于以下问题:C++ Dijkstra::shortestPath方法的具体用法?C++ Dijkstra::shortestPath怎么用?C++ Dijkstra::shortestPath使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Dijkstra的用法示例。


在下文中一共展示了Dijkstra::shortestPath方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: limitNumberOfNodesInPath

/**
 * Encontra dois caminhos disjuntos usando Dijkstra
 * A partir deles calcula o limit para o número de hops 
 */
int WorstBalancedPathEdge::limitNumberOfNodesInPath(Graph g, int source,int target)
{
    Graph s = g;//grafo auxiliar

    Dijkstra d;

    d.execute(s,source,target);

    vector<int> p1;

    p1 = d.shortestPath(target);

    if ((int)p1.size() <= 1)
    {
        return 0;
    }

    /**
     * Remove arestas do grafo
     */
    int sum = (int)p1.size();
    vector<int> adjcents;
    Node node;


    int u = 0;

    for ( u = 0; u < (int)p1.size()-1; u++)
    {
        s.removeNode(p1[u],p1[u+1]);
        s.removeNode(p1[u+1],p1[u]);
    }

    p1.clear();

    d.execute(s,source,target);

    p1 = d.shortestPath(target);

    if ((int)p1.size() <= 1 )
    {
        return 0;
    }

    sum = sum + (int) p1.size();

    p1.clear();

    return sum;
}
开发者ID:Trindad,项目名称:algorithms-to-find-link-disjoint-paths,代码行数:54,代码来源:WorstBalancedPathEdge.cpp


注:本文中的Dijkstra::shortestPath方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。