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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

动态规划在求解传递闭包问题中的应用(JAVA)--Warshell算法

發布時間:2025/3/15 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 动态规划在求解传递闭包问题中的应用(JAVA)--Warshell算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

動態規劃在求解傳遞閉包問題中的應用:

傳遞閉包:對于n個頂點有向圖來說,如果第i個頂點到第j個頂點之間存在一條有效的有向路徑(即長度大于0的路徑),那么T(i, j) = 1,否則T(i, j) = 0。例如:


求解傳遞閉包我們可以使用深度優先搜索和廣度優先搜索,我們可以對每個頂點進行DFS/BFS,在對應的矩陣位置上置為1,遍歷之后我們便得到整個圖的傳遞閉包。

但是這種方式并不是高效的算法,而Warshell算法卻能很好的解決問題。

Warshell算法通過一系列n階布爾矩陣來構造傳遞閉包 R(0),...R(k),...,R(n) 。其中的每個布爾矩陣都提供有向圖中有向路徑的特定信息。具體來說,當且僅當從第i個頂點到第j個頂點之間存在一條有向路徑,并且路徑的每一個中間頂點的編號不大于k時,矩陣中第i行第j列的元素值為1。

R(0)中每個點的含義為:當且僅當從第i個頂點到第j個頂點之間存在一條有向路徑,并且路徑不存在中間頂點。即該矩陣為圖的鄰接矩陣。

R(k)中每個點的含義為:當且僅當從第i個頂點到第j個頂點之間存在一條有向路徑,并且路徑的每一個中間頂點的編號不大于k

R(n)中每個點的含義為:當且僅當從第i個頂點到第j個頂點之間存在一條有向路徑,并且路徑的每一個中間頂點的編號不大于n,即圖的傳遞閉包。

思路:任何R(k)可以由R(k-1)計算的到的,那么,從第i個頂點vi到第j個頂點vj的路徑可以表示為:

vi, ]每個頂點編號<=k的一個中間頂點集],vj

這會存在兩種情況,情況一:R(k-1) = 1,中間頂點集中不包含k即可到達vj;

情況二,R(k-1) = 0,中間頂點集必須包含k才能到達vj,那么,只有當矩陣中第i行第k列的元素和第k行第j列的元素都是1,R(k)才能是1。示例如下圖:

下面將以示例的形式具體展示Warshell算法的流程:


Input:

4 4

1 2

2 4

4 1

4 3

Output:

1 1 1 1?
1 1 1 1?
0 0 0 0?
1 1 1 1

完整代碼如下:

import java.util.Scanner;public class Main {static int[][] e = new int[10][10];static int n, m;static Scanner input = new Scanner(System.in);public static void main(String[] args) {n = input.nextInt();m = input.nextInt();for (int i = 1; i <= m; i++) {int a = input.nextInt();int b = input.nextInt();e[a][b] = 1;}floyd();for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {System.out.print(e[i][j] + " ");}System.out.println();}}public static void floyd() {for (int k = 1; k <= n; k++) {for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (e[i][j] != 0) {e[i][j] = 1;} else if (e[i][k]!=0 && e[k][j]!=0) {e[i][j] = 1;}}}}} }

時間復雜度:O(n^3)

更一般的問題是求解帶權圖中全源最短路徑的長度。


總結

以上是生活随笔為你收集整理的动态规划在求解传递闭包问题中的应用(JAVA)--Warshell算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 催眠美妇肉奴系统 | 秋霞午夜视频 | 天天射天天干 | 亚洲视屏 | 狠狠撸在线观看 | 婷婷爱爱 | 蜜臀av无码一区二区三区 | 日韩精品麻豆 | 日本免费在线视频 | 人人插人人澡 | 久久久国产精品x99av | 丰满尤物白嫩啪啪少妇 | 韩国av在线免费观看 | 亚洲成人av一区二区三区 | 国产色片在线观看 | 国产精品视频久久久久久 | 日韩av男人的天堂 | 久久88 | 国产成人无码精品亚洲 | 日韩成人综合 | 日韩第1页| 国产高潮视频在线观看 | 欧美与黑人午夜性猛交久久久 | 国产69精品久久久久久久久久 | 男女做那个视频 | 黄色片在哪看 | 欧美美女在线观看 | 欧美69精品久久久久久不卡 | 中文字幕乱码在线人视频 | 亚洲一区免费视频 | 一本色道久久88综合日韩精品 | 成人精品视频网站 | 青青啪啪 | 欧美在线播放一区 | 免费网站在线高清观看 | 天天添| 熟妇人妻va精品中文字幕 | 精品欧美一区二区在线观看 | 欧美日本三级 | jizz在线免费观看 | 男女羞羞在线观看 | 婷婷综合社区 | 亚洲一区精品视频在线观看 | 一区二区高清在线 | 久久免费偷拍视频 | 午夜精品导航 | 97精品人妻麻豆一区二区 | 少妇高潮灌满白浆毛片免费看 | 欧美一级二级视频 | 麻豆精品在线播放 | 色噜| 看片久久| 激情六月| 综合激情av | 日韩无套 | 中文字幕av在线免费观看 | 国产精品成久久久久三级 | 国产精品视频免费在线观看 | 浪漫樱花动漫在线观看免费 | 久久免费公开视频 | 在线国产区| 国产精品久久久爽爽爽麻豆色哟哟 | 久久人人爽天天玩人人妻精品 | 视频一区二区在线 | 欧美一区二区三区视频 | 国产一级片中文字幕 | 欧美成人一区二免费视频软件 | 欧美1页| 日韩中文字幕一区二区三区四区 | 久久久精品国产sm调教网站 | 国产美女精品一区二区三区 | 日韩精品无码一本二本三本色 | 婷婷激情影院 | 欧美少妇b | 九一天堂| 国产一区二区免费在线 | 欧美三日本三级少妇三99 | 农村偷人一级超爽毛片 | 11一12免费毛片 | 久热欧美| 国产精品久久久久久久久久免费看 | 国产区视频 | 亚洲精品一区二 | 在线观看亚洲欧美 | 美女视频黄色在线观看 | 亚洲午夜精品久久 | 国产毛片久久久 | 色综合久久88色综合天天 | 日本一级黄色 | 欧美精品一级 | 国产丝袜在线播放 | 久久久久18 | 小明天天看 | 免费看91 | 亚洲中文无码久久 | 99re伊人| 亚洲欧美精品suv | 国产精品免费入口 | 凹凸日日摸日日碰夜夜 |