日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

bellman ford java_Java C 实现Bellman-ford算法

發布時間:2024/9/27 java 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bellman ford java_Java C 实现Bellman-ford算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

package com.cn.tree;

public class MyException extends Exception {

private static final long serialVersionUID = 1L;

public MyException(String str) {

super(str);

}

public MyException() {}

}

package com.cn.graph;

import com.cn.tree.MyException;

/**

* 很明顯時間復雜度為O(VE),因為每一次需要對邊進行松弛,所以我們采用保存邊的方式來存儲圖的的信息。

* p保存的是前驅節點,d保存的是源點到每一個點的最短距離。我們最后又做了一次判斷,如果還有可以松弛

* 的邊,那么可以保證的是圖中有負權的環存在,這樣的話就沒有最短路徑只說了,可以無限小。

*

* @author daijope

*

*/

public class BellmanFord {

private static final int m = 10000;

public static void main(String[] args) throws MyException {

Adge a1 = new Adge(0, 1, -1);

Adge a2 = new Adge(0, 2, 4);

Adge a3 = new Adge(1, 2, 3);

Adge a4 = new Adge(3, 1, 1);

Adge a5 = new Adge(1, 3, 2);

Adge a6 = new Adge(3, 2, 5);

Adge a7 = new Adge(1, 4, 2);

Adge a8 = new Adge(4, 3, -3);

Adge[] as = new Adge[]{a1, a2, a3, a4, a5, a6, a7, a8};

int[] d = new int[5];

int[] p = new int[5];

d[0] = 0;

p[0] = 0;

for (int i = 1; i < d.length; i++) {

d[i] = m;

p[i] = -1;

}

bellman_Ford(as, d, p);

for (int i = 0; i < d.length; i++) {

System.out.println(d[i]);

}

}

private static void bellman_Ford(Adge[] as, int[] d, int[] p) throws MyException {

for(int i = 1; i < d.length; i++) {

for (int j = 0; j < as.length; j++) {

if (d[as[j].getV()] > d[as[j].getU()] + as[j].getW()) {

d[as[j].getV()] = d[as[j].getU()] + as[j].getW();

p[as[j].getV()] = as[j].getU();

}

}

}

for (int j = 0; j < as.length; j++) {

if (d[as[j].getV()] > d[as[j].getU()] + as[j].getW()) {

throw new MyException("有負環");

}

}

}

}

class Adge {

private int u;

private int v;

private int w;

public Adge(int u, int v, int w) {

this.u = u;

this.v = v;

this.w = w;

}

public int getU() {

return u;

}

public void setU(int u) {

this.u = u;

}

public int getV() {

return v;

}

public void setV(int v) {

this.v = v;

}

public int getW() {

return w;

}

public void setW(int w) {

this.w = w;

}

}

c語言實現:

#include

#define MAXVALUE 10000

typedef struct node

{

int u;

int v;

int w;

};

bool BELLMAN_FORD(node G[])

{

int dis[5],pre[5],p[5];

int i,j,k;

for(i=0;i<=4;i++)

{

dis[i]=MAXVALUE;

pre[i]=-1;

p[i]=1;

}

dis[G[0].u]=0;

for(j=1;j<=4;j++)

{

for(i=0;i<=7;i++)

{

if(dis[G[i].v]>dis[G[i].u]+G[i].w)

{

dis[G[i].v]=dis[G[i].u]+G[i].w;

pre[G[i].v]=G[i].u;

}

}

}

for(i=1;i<=7;i++)

{

if(dis[G[i].v]>dis[G[i].u]+G[i].w)

return false;

}

for(i=0;i<=7;i++)

{

if(p[G[i].v]==1)

{

printf("%d %d\n",G[i].v,dis[G[i].v]);

k=G[i].v;

p[G[i].v]=0;

while(pre[k]!=-1)

{

printf("%d \n",pre[k]);

k=pre[k];

}

}

}

return true;

}

int main()

{

node G[8];

G[0].u=0;

G[0].v=1;

G[0].w=-1;

G[1].u=0;

G[1].v=2;

G[1].w=3;

G[2].u=1;

G[2].v=2;

G[2].w=3;

G[3].u=1;

G[3].v=3;

G[3].w=2;

G[4].u=1;

G[4].v=4;

G[4].w=2;

G[5].u=3;

G[5].v=1;

G[5].w=1;

G[6].u=3;

G[6].v=2;

G[6].w=5;

G[7].u=4;

G[7].v=3;

G[7].w=-3;

BELLMAN_FORD(G);

getchar();

}

//O(VE)

總結

以上是生活随笔為你收集整理的bellman ford java_Java C 实现Bellman-ford算法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线中文字幕日韩 | www色天使| a在线免费观看 | 高中男男gay互囗交观看 | 成人小视频在线播放 | 国产午夜亚洲精品午夜鲁丝片 | 成年人在线观看视频网站 | 国产精品美女久久久网av | 微拍福利一区二区 | 亚洲免费观看高清完整版在线 | 亚洲精品亚洲 | 国产精品无码内射 | 久热精品视频在线观看 | 99国产揄拍国产精品 | 农村老熟妇乱子伦视频 | 欧美区一区二 | 久久国产主播 | 四虎精品成人免费网站 | 日韩一区二区影视 | 成人一区二区视频 | 亚洲精品国产精品乱码不卡√香蕉 | 少妇高潮av久久久久久 | 蜜臀在线观看 | 午夜性 | 久久亚洲精品国产精品黑人v | 在线理论片 | 在线免费播放 | 亚洲第一色区 | 久久亚洲影视 | 午夜大片 | 一级视频在线免费观看 | 国产精品老熟女视频一区二区 | av5566 | 亚洲福利电影网 | 日本少妇吞精囗交视频 | 精品国产97 | 中国毛片网站 | 亚洲第一成网站 | 国产精品va无码一区二区 | 日本视频在线看 | 国产热99 | 精品无码久久久久久久 | av图区 | 久久激情免费视频 | 青青草视频在线观看免费 | 欧美一级片免费观看 | 国产情侣呻吟对白高潮 | 国产91视频在线 | 九色porny自拍视频 | 黄色片久久 | 老司机免费视频 | 性欧美videos另类艳妇3d | 一二三区精品 | 女人脱裤子让男人捅 | 91美女视频在线观看 | 东方影库av| 三级色网| 亚洲午夜电影网 | 91色偷偷 | 91色噜噜 | 无码人妻丰满熟妇啪啪网站 | 亚州黄色 | 成人国产精品免费 | 日本成片网 | aa亚洲| 亚洲av无码一区二区三区在线观看 | 两个小y头稚嫩紧窄h文 | 亚洲做受高潮无遮挡 | 亚洲h片| 国产亚洲精品久久久久久无几年桃 | 欧美日韩一区二区三区在线电影 | 日本一级二级视频 | 亚洲在线激情 | jvid乐乐| 91精品国产一区二区无码 | 禁漫天堂下载18 | 日本不卡视频一区二区 | www.日批 | 日本伦理在线 | www.日日干 | 美国性生活大片 | av色资源| 亚洲黄在线观看 | a天堂中文在线观看 | 熟妇五十路六十路息与子 | 91天堂视频| 亚洲粉嫩 | 日韩欧美一区视频 | 久久精品9 | 新91在线 | 亚洲欧美国产精品专区久久 | 欧美超碰在线观看 | 在线观看视频 | 黄色大片aaa | 亚洲va韩国va欧美va精品 | 少妇高潮大叫好爽喷水 | 一本色道久久88综合无码 | 波多野结衣女同 | 在线一区观看 |