主要思想

  • 一张图和一个源点,当最短路径确定时,这个图的最短路径树一定是确定的。且深度不超过V(<=V)
  • 但是 如果超过V层还可以松弛(说明出现了负环)

注意点

  • 初始化,比如vis数组的false 最小路径的INF
  • 将源点的d[s]=0

代码

#include<vector>
using namespace std;
const int max_n = 30;
const int INF = 0x3fffffff;
//Bellman_Ford算法
//一张图和一个源点,当最短路径确定时,这个图的最短路径树一定是确定的。且深度不超过V(<=V)
//但是 如果超过V层还可以松弛(说明出现了负环)
struct  node
{int v;int wight;
};
int n;//顶点个数
vector<node>Adj[max_n];
int d[max_n];//距离源点的最短路径
bool Bell_Ford(int s)//源点
{//初始化fill(d, d + n, INF);//得到最短路径树/最短路径dd[s] = 0;for (int i = 0; i < n - 1; i++)//松弛v-1轮 每一轮确定一层 最多V-1层{for (int j = 0; j < n; j++){for (int x = 0; x < Adj[j].size(); x++)//每一条边{int v = Adj[j][x].v;int weight = Adj[j][x].wight;//j和v的距离if (d[v] < d[j] + weight)d[v] = d[j] + weight;}}}//判断有没有负环for (int j = 0; j < n; j++){for (int x = 0; x < Adj[j].size(); x++)//每一条边{int v = Adj[j][x].v;int weight = Adj[j][x].wight;//j和v的距离if (d[v] < d[j] + weight)return false;}}return true;
}

Bellman_Ford算法(负环的单源路径)相关推荐

  1. 单源路径分支界限java_java单源最短路径算法

    . .. .. . 单源最短路径的 Dijkstra 算法: 问题描述: 给定一... 并 应用贪心法求解单源最短路径问题.环境要求对于环境没有特别要求.对于算法实现,可以自由选择 C, C++, J ...

  2. 图论——单源路径问题

    文章目录 图论--单源路径问题 问题分析 代码 指定终点代码 图论--单源路径问题 问题分析 对于本小节,我们只讨论简单无向无权图的单源路径问题. 单源路径是指从某个给定顶点出发找到一条路径到其他顶点 ...

  3. 单源路径分支界限java_java实现单源最短路径

    本文采用java实现单源最短路径,并带有略微详细的注解,供大家参考,具体内容如下 package com.qf.greaph; import java.util.arraylist; import j ...

  4. AOJ GRL_1_B: Shortest Path - Single Source Shortest Path (Negative Edges) (Bellman-Frod算法求负圈和单源最短路径)

    题目链接: http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=GRL_1_B Single Source Shortest Path ( ...

  5. 单源路径分支界限java_分支限界法—单源最短路径问题

    转自:http://www.cnblogs.com/chinazhangjie/archive/2010/11/01/1866136.html 分支限界法与回溯法 (1)求解目标:回溯法的求解目标是找 ...

  6. Bellman_Ford的负环

    大家都知道Bellman的优化版是SPFA 但是我还是偏向于叫Bellman 这是一种重要的负环判断法(同时维护单源最短路) //这里写代码片struct node{int x,y,v; };stru ...

  7. 最短路径问题——Dijkstra算法详解(单源最短路径)

    单源最短路径 单源最短路径,是指从图中任一点出发到其他各点之间的最短路径. Dijkstra算法介绍 Dijkstra算法又称迪杰特斯拉算法,dijkstra算法的核心思想是将全部结点所在集合V分成两 ...

  8. 【牛客 - 370E】Rinne Loves Gift(Bellman_Ford判负环,二分,分数规划)

    题干: 链接:https://ac.nowcoder.com/acm/contest/370/E 来源:牛客网 Rinne 喜欢礼物,也喜欢送礼物 圣诞节快到了,Rinne 要去给给住在城市里的人送礼 ...

  9. 单源路径分支界限java_单源最短路径-分支界限法

    单源最短路径-分支界限法-优先队列式.这里使用无回路的有向图,便于构建树.构建好树后,从根结点作为起始源,加入结点队列,然后判断获取队列中最短的路径结点做为活结点,将活结点的所有子结点加入队列,移除活 ...

  10. 分支限界法 java_算法java实现–分支限界法–单源最短路径问题 | 学步园

    单源最短路径问题的java实现(分支限界法) 具体问题描述以及C/C++实现参见网址 http://blog.csdn.net/liufeng_king/article/details/8900872 ...

最新文章

  1. 周志华,李航来智源大会了!
  2. 传递数组_Fortran:派生数组与数组传递进子程序耗费时间比较
  3. PostgreSQL的实践一:初识
  4. Smartforms Debug
  5. 常用的 Web Service 服务汇总(天气预报,列车时刻表)
  6. oracle 排序的分析函数,Oracle分析函数用法详解
  7. jQuery中的for循环var与let区别
  8. [LeetCode_5] Longest Palindromic Substring
  9. 在Apache Camel中使用Spring数据
  10. python对列表中的数值进行统计运算_python-从单词列表中计算元音并返回数字作......
  11. Oracle 用户,角色,权限等
  12. 讨论:多核CPU+ASIC的防火墙在以后是发展方向吗?
  13. CString to LPWSTR
  14. jQuery获取iframe中页面的高度
  15. 哈理工OJ 2274 Heroic Action(01坑背包)
  16. Windows Edge 下载软件被检测到病毒无法下载
  17. 今日科技联播:全球区块链专利申请数超5000件,Coinplug第一阿里紧随其后
  18. 用python制作特效_python 制作影视动画、电影特效工具
  19. 米的换算单位和公式_小学数学单位换算公式(附练习题)
  20. 【逆向】Android App soul api-sign算法分析

热门文章

  1. 17 java 存在的问题(转)
  2. 处理顶点——使用顶点缓冲和索引缓冲将顶点和索引保存在显存中
  3. Web - JSON基础讲解
  4. cout和printf的区别
  5. iis p访问php密码,访问IIS网站需要输入用户名密码(非匿名登录)问题汇总
  6. 拓端tecdat|R语言数量生态学冗余分析RDA分析植物多样性物种数据结果可视化
  7. 拓端tecdat|R语言隐马尔可夫模型HMM识别不断变化的市场条件
  8. manjaro Linux下使用腾讯会议
  9. sstream用法(后续更新)
  10. ryzen cpu 用啥linux,AMD Ryzen锐龙处理器配什么主板?AMD 锐龙Ryzen CPU搭配主板技巧...