当前位置: 首页 > news >正文

网站建设怎么添加背景音乐自动设计logo的网站

网站建设怎么添加背景音乐,自动设计logo的网站,WordPress 4.7漏洞,信誉好的做网站1. 前言 前文的迪杰斯特拉算法不能求解有负边的图的最短路径的问题。而此文的Bellman-Ford可以处理含负权边的图算法,并且能检测出图中是否存在负环(权重和为负数的环). 2. 基本思想 1. 初始化: 对于所有顶点 v ∈ V \ {s}&am…

1. 前言

前文的迪杰斯特拉算法不能求解有负边的图的最短路径的问题。而此文的Bellman-Ford可以处理含负权边的图算法,并且能检测出图中是否存在负环(权重和为负数的环).

2. 基本思想

1. 初始化:

  • 对于所有顶点 v ∈ V \ {s}(除了起点 s),设其到起点的距离为无穷大(表示不可达)。
  • 起点 s 到自身的距离设为 0。


2. 松弛操作:

  • 遍历图中的每条边 (u, v) ∈ E,执行松弛操作 `Relax(u, v, w)`。松弛操作尝试通过边 (u, v) 更新从起点 s 到顶点 v 的已知最短距离。
  • 如果存在一条从起点 s 到顶点 u 的更短路径,并且这条路径加上边 (u, v) 的权重小于目前记录的从起点 s 到顶点 v 的距离,则更新顶点 v 的距离值。
  • 这个过程需要重复进行 |V| - 1 次(V 是顶点集)。因为在没有负权环的情况下,任何从起点到某个顶点的最短路径最多包含 |V| - 1 条边。

3. 检查负权环:

  •  在进行了 |V| - 1 轮松弛操作之后,再进行一轮松弛操作。如果在这个过程中仍然能够进一步减少某个顶点的距离值,那么说明图中存在一个可以被利用来无限降低路径成本的负权环。

3. 顶点类代码

public class Vertex {// 顶点的名字,用来区分顶点String name;// 与该顶点有关的边的集合List<Edge> edges;// 判断是否已经被遍历boolean visited = false;// 初始距离为无穷大int dist = INF;// INF表示无穷大final static int INF = Integer.MAX_VALUE;// 该顶点在最短路径中的前一个顶点Vertex prev = null;public Vertex(String name) {this.name = name;}public String getName() {return name;}
}

顶点图:

4. Bellman-Ford算法代码

public class BellmanFord {public static void main(String[] args) {Vertex v1 = new Vertex("1");Vertex v2 = new Vertex("2");Vertex v3 = new Vertex("3");Vertex v4 = new Vertex("4");v1.edges = new ArrayList<>();v1.edges.add(new Edge(v2, 2));v1.edges.add(new Edge(v3, 1));v2.edges = new ArrayList<>();v2.edges.add(new Edge(v3, -2));v3.edges = new ArrayList<>();v3.edges.add(new Edge(v4, 1));v4.edges = new ArrayList<>();List<Vertex> graph = new ArrayList<>();graph.add(v1);graph.add(v2);graph.add(v3);graph.add(v4);// v1作为起始点bellmanford(graph, v1);}public static void bellmanford(List<Vertex> graph, Vertex source){// 将起始点的距离设置为0,其余点的距离都是无穷大source.dist = 0;int size = graph.size();// 进行 顶点数-1 次处理for(int k = 0; k < size - 1; k++) {// 遍历所有的边for(Vertex v : graph){for(Edge e : v.edges){// 处理每条边if(v.dist != Integer.MAX_VALUE &&v.dist + e.weight < e.linked.dist){e.linked.dist = v.dist + e.weight;e.linked.prev = v;}}}}for(Vertex v : graph){System.out.println("v" + v.name + "  " + v.dist);}}
}

打印的结果:

v1  0
v2  2
v3  0
v4  1
http://www.yayakq.cn/news/7975/

相关文章:

  • 网站建设静态部分实训总结科技创新的重要性和意义
  • 网站架构设计文档自建网站优缺点
  • 刘淼 网站开发临沂建网站多少钱
  • 做修车行业需要在哪个网站做推广政务网站的建设方案
  • 网站权重传递台州网站建站
  • 适合这手机浏览器主页的网站wordpress 找不到页面
  • 网站管理建设wordpress免费教育模板
  • 网站如何绑定公众号棉桃剥壳机做网站
  • 你做网站群好朋友的作文wordpress博客统计小工具
  • 网站备案本人承诺网站开发是哪个职位
  • 如何访问云南建设厅网站泰州网站建设策划
  • 西餐厅网站模板重庆建设工程招标信息网官网首页
  • 寮步镇网站建设手机赚钱一天400元
  • 网站建设 招标公告上海未成年人思想道德建设网站
  • 完成一份网站建设前期规划方案阿里云商标注册
  • 学校网站群建设 ppt2021年加盟好项目
  • 标志设计网站推荐做外贸的国际网站有哪些内容
  • 服装网站页面设计网站开发费税率是多少
  • 凡科网站代理登录入口岱岳区网站设计
  • 建网站 行业 销售额西安网站开发外包公司有
  • 织梦网站熊掌号改造怎么做房子装修网站
  • 自己搭建网站服务器网店运营计划书范文
  • 上海市建设协会考试网站东莞网页制作招聘网
  • 市政建设招标网站有哪些二次开发的意义
  • 济南企业网站开发拖拽式网站建设
  • 全国建设注册中心网站电商网站怎么做搜索
  • 找做网站的上什么appwordpress 搜索框 位置
  • 网站月付服务器郑州效果图设计公司
  • 东莞市网站建设公司企业网站seo名称
  • 东莞网站建设+旅游软件自学网站