-----------最小生成樹----------------

最小生成樹(Minimum Spanning Tree)

  1:是一棵樹(是一種特殊的圖)

      連通的,沒有回路 有V 個頂點 一定有 V-1條邊

? ? ?2:生成樹

      包含了全部的頂點,所有的V-1條邊 ?都在圖里

剩下的三個土 ?都是第一個完全圖的生成樹

只要是 4個頂點 3條邊 ? 沒有回路 就是生成樹 ? ? 這3個圖 隨便的加一條邊 ?都會變成一個回路 ? 也就不是 最小生成樹了. ??

  3:最小??

        邊的權重之和最小

最小生成樹存在 ?和 ? 圖連同 ?是充分必要條件

?---------------------------------------------------------------------------------------------------------------------------

不論什么方法解決最小生成樹問題都離不開 貪心算法

什么是貪 : 每一步都要最好的 .

什么是好 : 權重最小的邊 .?

需要約束: ? ? ? ? ? ? ? ? ? ? ? ??

只能用圖里面的邊.

只能剛好用掉V-1條邊

不能有回路

貪心算法之一

Prim算法-讓一顆小樹長大

?用Dijkstra算法和Prim算法比較一下感覺幾乎一樣

Prime算法 ?生成樹的順序是V1,V4,V2,V3,V7,V6,V5,

//                       Dijkstra算法
/*
依鄙人之見,Dijkstra算法 就是走一個一定最小的步子,走完之后丈量一下去下一個地方需要多少步然后 給那個地方打上標簽 這時候 可能會出現 A->B 為80 但是 A->C->B 為 5的情況 所以 在走完第一步之后 在第一部的基礎上丈量完 然后走 離現在距離最近的點這個點 該點一定沒有 A 離源點近 但是改點是距離 A最近的 就這樣 逐步求最小 不停的修改 */ void Dijkstra( Vertex s ) // 看來 再看一遍 寫筆記 很重要 { while (1) {V = 未收錄頂點中dist 最小者;if ( 這樣的V在 不存在 )break;collected[V] = true;for ( V 點 的每個鄰接點 W )if ( collected[W] == false )if ( dist[V]+E <V,W> < dist[W] ){dist[W] = dist[V] + E <V,W> ;path[W] = V;}} }

?

//                    Prim算法

void
Prim() {MST=(s);while(1){V=未收錄頂點中dist最小者 // 和源點相鄰的就是權重 . 剩下的是正無窮.if(都被收錄了)break;dist[V]=0;//將V收錄進MST for(V的 每個臨接點W){if(dist[W]!=0) //沒有被收錄 的話 {if(E(v,w)<dist[W]){dist[W]=E(v,w);parent[W]=V;}}}}if(MST中的頂點不到V個) //就是 有獨立的點 不連通的圖. ERRor(生成樹不存在) }

?

----------------圖比較稀疏----------------?

//                    Kruskal算法
//這個算法的核心就是    貪心了      將每一條邊 一個一個的收錄進去 (不能有回路)(變得個數是點的個數-1)void
void Kruskal(Graph G)
{MST={};   //生成一個空樹while(MST中不到V-1條邊&&E中還有邊){從E中取一條權重最小的邊E(v,w);  //用最小堆
        將E(v,w)從E中刪除;if(E(v,w)不再MST中構成回路)   //  用并查集
            將E(v,w)加入MTS;else徹底無視E(v,w);}if(MST中不到V-1條邊)Error("生成樹不存在");
}

?

轉載于:https://www.cnblogs.com/A-FM/p/5153775.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257766.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257766.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jQuery Easing 使用方法及其圖解

從jQuery API 文檔中可以知道&#xff0c;jQuery自定義動畫的函數.animate( properties [, duration] [, easing] [, complete] )有四個參數&#xff1a; properties&#xff1a;一組包含作為動畫屬性和終值的樣式屬性和及其值的集合duration(可選)&#xff1a;動畫執行時間&am…

可以進行單元測試么_前端與單元測試

先來幾個專業詞匯&#xff0c;這樣顯得高大上一點&#xff08;不存在的。&#xff09;BDD: Behavior-Driven Development (行為驅動開發)TDD: Test-Driven Development (測試驅動開發)ATDD: Acceptance Test Driven Development(驗收測試驅動開發)好&#xff0c;說完了&#xf…

UWP--頁面傳值

//匿名對象private void Button1_OnClick(object sender, RoutedEventArgs e){this.Frame.Navigate(typeof(PageNavigate2), new { id 1, name "LBI" });}//利用反射獲取protected override void OnNavigatedTo(NavigationEventArgs e){var parameter e.Parameter…

Android 4.4 KitKat, the browser and the Chrome WebView

Having V8 as the JavaScript engine for the new web view, the JavaScript performance if much better, besides general performance on CSS thanks to hardware acceleration Android 4.4 KitKat, the browser and the Chrome WebView轉載于:https://www.cnblogs.com/dais…

excel 行高 上下留白_拒絕加班,工作中最常用的57個Excel小技巧來了!

今天高頓君分享的 Excel小技巧&#xff0c;全是工作是最常用且簡單易操作的&#xff0c;共57個&#xff0c;希望對同學們有所幫助。&#xff08;適合版本 Excel2007及以上&#xff09;一、文件操作1、為excel文件添加打開密碼文件 - 信息 - 保護工作簿 - 用密碼進行加密。2、為…

經驗分享:三步走教你升級企業NAS設備

前幾年凡是對于數據存儲有需求的企業都已經購買了相關的NAS產品&#xff0c;不過電腦和網絡升級換代是比較頻繁的&#xff0c;幾年過去了中小企業對數據存儲的需求也水漲船高&#xff0c;然而面對當初的NAS存儲設備該如何處理呢&#xff1f;扔掉可惜使用又不如意的雞肋問題能夠…

C#索引器

索引器允許類或者結構的實例按照與數組相同的方式進行索引取值&#xff0c;索引器與屬性類似&#xff0c;不同的是索引器的訪問是帶參的。 索引器和數組比較&#xff1a; (1)索引器的索引值(Index)類型不受限制 (2)索引器允許重載 (3)索引器不是一個變量 索引器和屬性的不同點 …

獲取訪客進站關鍵詞_拼多多訪客突然下降是為什么?拼多多訪客突然暴漲又是怎么回事?...

在當下這個互聯網時代&#xff0c;可以說流量就代表這金錢。這一點在做電商的商家那里表現的就更為直觀了&#xff0c;如果你做了一個拼多多的店鋪&#xff0c;之前店鋪的流量一直都比較好&#xff0c;而現在拼多多店鋪的流量忽然下降了&#xff0c;那么店鋪中的銷售額就會受到…

微信開發之 二維碼生成類庫

最近weiphp 二次開真的有點累&#xff0c;漏洞百出。代碼維護代價有點高。 <?php /*** Created by PhpStorm.* User: bin* Date: 15-1-16* Time: 上午9:48*/ namespace Home\Common;// 微信處理類 set_time_limit(30); class Weixin{//構造方法static $qrcode_url "h…

通過Matlab實現離散序列卷積和

前言 年輕人&#xff0c;你對數學一無所知&#xff0c;你只是習慣了而已。—馮諾伊曼 Young man, in mathematics you dont understand things. You just get used to them.—John von Neumann。 一、卷積和是什么&#xff1f; 卷積的本質是描述一個瞬時動作&#xff08;激勵…

Ansible 五(inventory文件 主機清單)

Ansible 五&#xff08;inventory文件 主機清單&#xff09;Ansible 可同時操作屬于一個組的多臺主機,組和主機之間的關系通過 inventory 文件配置. 默認的文件路徑為 /etc/ansible/hosts除默認文件外,你還可以同時使用多個 inventory 文件(后面會講到),也可以從動態源,或云上…

python series用法_如何使用Python中的Series字典創建數據框?

數據框是一種二維數據結構&#xff0c;其中數據以表格格式存儲&#xff0c;以行和列的形式。它可以可視化為SQL數據表或excel工作表表示形式。可以使用以下構造函數創建它-pd.Dataframe(data, index, columns, dtype, copy)讓我們了解如何使用Series字典創建數據框。系列是“熊…

[轉載]android設置全屏和無標題

先介紹去掉標題欄的方法&#xff1a; 第一種&#xff1a;也一般入門的時候經常使用的一種方法 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉標題欄注意這句一定要寫在setContentView()方法的前面&#xff0c;不然會報錯的 第二種&#xff1a;在AndroidManifest.xml文…

mac電腦下Tomcat和Apach配置流程(超詳細)

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 前言 本章介紹在mac 電腦下如何配置Tomcat、Apach等環境 一、Apache介紹及配置 1.XAMPP安裝 為了更好的進行各項軟件服務的配置&#xff0c;引入快捷腳本工具——XMAPP。…

MVC 分頁

后臺代碼: using Webdiyer.WebControls.Mvc; 1 public ActionResult Index(int id 1)2 {3 int pageIndex id;4 int count;5 int pageSize 7;6 7 List<News> newsList 8 newsSer.QueryByPage…

cvc 降噪_耳機降噪功能這么多,說說什么是ANC、ENC、CVC、DSP降噪

降噪功能對耳機的作用很重要&#xff0c;一是減少噪音&#xff0c;避免過度放大音量&#xff0c;從而減少對耳朵的損害。二是過濾噪音從而提高音質和通話質量。降噪可分為被動式降噪和主動式降噪。被動式降噪也就是物理降噪&#xff0c;被動式降噪是指利用物理特性將外部噪聲與…

RPC 和 RESTful

2019獨角獸企業重金招聘Python工程師標準>>> to do ... 轉載于:https://my.oschina.net/u/2002769/blog/1505410

[linx] ubuntu網絡重啟命令

/etc/init.d/networking restart #這種方式必須有/etc/network/interface文件 ifconfig eth0 down #直接重啟網卡 ifconfig eth0 up 轉載于:https://www.cnblogs.com/fantasy01/p/4229734.html

密碼學入門1——凱撒密碼和三重DES加解密

實驗目的 1、完成第一個入門加解密——凱撒密碼 2、完成當下較為流行的三重DES加解密技術 3、熟悉所學的實際運用方向 實驗準備 硬件&#xff1a;計算機或筆記本電腦 操作系統&#xff1a;Mac操作系統 IDE環境&#xff1a;Eclipse 程序語言&#xff1a;Java 一、實驗基本…

老李談JVM內存模型

老李談JVM內存模型 poptest是國內唯一一家培養測試開發工程師的培訓機構&#xff0c;以學員能勝任自動化測試&#xff0c;性能測試&#xff0c;測試工具開發等工作為目標。如果對課程感興趣&#xff0c;請大家咨詢qq&#xff1a;908821478&#xff0c;咨詢電話010-84505200。 J…