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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

贪婪算法在求解最小生成树中的应用(JAVA)--Prim算法

發布時間:2025/3/15 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 贪婪算法在求解最小生成树中的应用(JAVA)--Prim算法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

貪婪算法:通過一系列步驟來構造問題的解,每一步對目前構造的部分分解做一個拓展,直到獲得問題的完整解為止,而算法的核心思想就在于,算法的每一步都必須滿足以下條件:可行(滿足問題的約束條件)、局部最優(當前步驟所有可行選擇中的局部最優解)、不可取消(一旦選擇,在后續步驟中不可改變)。

對于連通圖來說生成樹定義為包含圖中所有頂點的連通無環子圖

而在加權連通圖中權重最小的生成樹被稱為最小生成樹

Prim算法被又稱為“加點法”,我們從圖中的頂點集合中任意選擇一個頂點作為序列的初始子樹,每次迭代的時候,以貪婪的方式擴張生成樹,該算法每次只擴展一個點,迭代的總次數為n-1。所以這就要求對于每個不在樹中的頂點,必須知道它連接樹中頂點的最短邊信息。我們可以給一個頂點附加兩個標記:樹中最近頂點的名稱以及對應邊的長度。對于任意加入生成樹中的頂點來說,我們要做兩步,操作一:將該頂點從集合V-Vt 移動帶頂點集合Vt中,操作二:對V-Vt中的每個頂點更新。

我們以下面這個圖為例子講解Prim算法的過程:



Input:

6 10
1 2 3
1 5 6
1 6 5
2 6 5
2 3 1
3 6 4
3 4 6
4 6 5
4 5 8

5 6 2

Output:

15

完整代碼如下:

import java.util.Scanner;public class Main {static int[][] e = new int[7][7];static int[] book = new int[7];static int[] dis = new int[7];static int count = 0;static int sum = 0;static int n, m;static int min, mark;static Scanner input = new Scanner(System.in);public static void main(String[] args) {n = input.nextInt();m = input.nextInt();for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (i == j) {e[i][j] = 0;} else {e[i][j] = 99999999;}}}for (int i = 1; i <= m; i++) {int a = input.nextInt();int b = input.nextInt();int c = input.nextInt();e[a][b] = c;e[b][a] = c;}for (int i = 1; i <= n; i++) {dis[i] = e[1][i];}book[1] = 1;prime();System.out.println(sum);}private static void prim() {count++;while (count < n) {min = 99999999;for (int i = 1; i <= n; i++) {if (book[i] == 0 && dis[i] < min) {min = dis[i];mark = i;}}book[mark] = 1;count++;sum += dis[mark];for (int i = 1; i <= n; i++) {if (book[i] == 0 && dis[i] > e[mark][i]) {dis[i] = e[mark][i];}}}} }

時間復雜度O(n^2),如果采用堆來構造一個優先隊列則會使算法的時間復雜度變為O(nlogn)

很感興趣的讀者可以參考圖論算法(四)--最小生成樹的Kruskal [ 加邊 ] 、Prim [ 加點 ] 的解法(JAVA)這篇文章

總結

以上是生活随笔為你收集整理的贪婪算法在求解最小生成树中的应用(JAVA)--Prim算法的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 最新黄网 | 国产女人高潮的av毛片 | 女人18片毛片60分钟 | 爱情岛论坛亚洲品质自拍视频 | 久久99精品久久久久久噜噜 | 国产精品宾馆在线精品酒店 | 亚洲无线看| 老司机精品视频在线 | 亚洲精品aa | 日本免费看 | 精品在线观看一区二区 | 中文在线а√天堂 | 99亚洲国产精品 | 欧美日本免费 | 亚洲熟妇av乱码在线观看 | 午夜亚洲福利在线老司机 | 亚洲欧美日韩国产一区 | 能免费看av的网站 | 国产精品第2页 | 夜夜草视频 | 久久噜噜| 天堂a√在线 | 亚洲精品一区二区在线观看 | 亚洲视频网站在线 | 女女同性被吸乳羞羞 | 日本黄色大片视频 | 欧美一区二区三区视频在线 | 国产色影院 | 国产一级性生活片 | 黑人一区二区三区四区五区 | 免费毛片网 | 97免费观看视频 | 日本在线视频www | 国产欧美一区二区三区视频 | 欧美天堂视频 | 欧美区一区二区三 | 天天色天天搞 | 五月天婷婷激情网 | 污视频在线免费观看 | 久久99伊人 | 免费黄色美女网站 | 一区二区三区免费在线 | 日本久久一区 | 久久久资源网 | 欧美日本在线观看 | 又黄又湿的网站 | 制服丝袜中文字幕在线 | 亚洲午夜精品一区二区三区 | 色夜av| 亚洲av无码一区二区三区dv | 色视频在线看 | 欧美色图中文字幕 | 欧美性生交大片免费看app麻豆 | 超碰在线观看97 | 国产一级黄色录像 | 激情视频网 | 制服中文字幕 | 亚洲一级黄色片 | 男人懂得网站 | 亚洲一区二区免费在线观看 | 黄色小视频免费网站 | 青青草视频污 | 亚洲另类天堂 | 亚洲欧洲在线视频 | 欧美一区自拍 | www.久久伊人 | 国产精品天天狠天天看 | 成人区人妻精品一区二区网站 | 四虎影院国产精品 | 91久久爽久久爽爽久久片 | 黄色应用在线观看 | 国产无套在线观看 | 亚洲精品天堂在线观看 | 国产精品毛片久久 | 狠狠操在线播放 | 久久av一区二区三 | 中文字幕三级视频 | 精品久久91| 日韩av资源网 | 日本三级2019 | 绿帽人妻精品一区二区 | www.激情五月 | 91精品国产高清一区二区三区蜜臀 | 白丝一区 | 日本欧美韩国国产精品 | 日韩一级伦理片 | 亚洲在线观看免费 | 91麻豆精品在线观看 | 18禁超污无遮挡无码免费游戏 | 色牛影院 | www.国产免费 | 日韩高清二区 | 成人黄页网站 | 欧美69影院 | 亚洲午夜精品在线 | 处破女av一区二区 | 影音先锋激情在线 | 不卡欧美 | 激情草逼|