數據結構圖的最小生成樹的算法和應用舉例

2020-12-06 算法與數據挖掘

一、最小生成樹介紹

圖結構是一種非常重要的非線性數據結構,帶權圖的最小生成樹在工程技術,科學管理的最優解問題中有著廣泛的應用。

最小生成樹:權值和最小的生成樹

最小生成樹的性質:假設G=(V,E)是個連通圖,U是頂點V的一個非空子集。若(u,v)是一條具有最小權值的邊,其中u∈U,v∈V-U,則必存在一棵包含邊(u,v)的最小生成樹。

產生最小生成樹必須解決下邊兩個問題:

(1) 儘可能選取權值小的邊,但不能構成迴路

(2) 選取n-1條恰當的邊以連通n個頂點。

最小生成樹的算法主要有Kruskal算法和Prim算法,他們都是貪心算法的應用。

二、最小生成樹的算法

(1) Kruskal算法

過程描述:始終以邊為主導地位,先選擇權值最小的邊,總是選擇當前可用最小權值邊,並且每次判斷兩點之間是否已經間接連通,如果已經間接連通,則跳過此邊。

時間複雜度是O(n*logn),適用於求邊稀疏連通網的最小生成樹。

(2) Prim算法

過程描述:Prim算法始終以頂點為主導,並且起始點的選擇是任意的。

從起始點到其他點選擇最小權值邊,然後以此邊兩個頂點分別再找最小權值的邊,同樣已經間接連接的邊跳過。

時間複雜度是O(n2),適用於求邊稠密連通網的最小生成樹。

三、最小生成樹實際應用

(1) 解決礦井通風管道設計問題

(2) 幾個城市(圖1)之間怎麼修路,可以使整體上路最短?

這個問題的求解,就可以用最小生成樹(圖2),也就是幾個城市連通的最短路徑。

圖 2

相關焦點

  • 《算法》筆記 11 - 最小生成樹
    最小生成樹的應用切分定理貪心算法加權無向圖的數據結構Prim算法Kruskal算法在這些情形中,最令人感興趣的便是如何將成本最小化。最小生成樹就是用於在加權無向圖中解決這類問題的。最小生成樹相關的算法在通信、電子、水利、網絡、交通燈行業具有廣泛的應用。圖的生成樹是它的一顆含有其所有頂點的無環連通子圖,一副加權無向圖的最小生成樹(Minimum spanning tree)是它的一顆權值(樹中所有邊的權值之和)最小的生成樹。
  • C++ Prim算法Kruskal算法構造可以使n個城市連接的最小生成樹
    ,用Prim算法或Kruskal算法建立最小生成樹,並得到的最小生成樹的代價。要求在屏幕上顯示得到的最小生成樹中包括了哪些城市間的道路,並顯示得到的最小生成樹的代價。2、表示城市間距離網的鄰接矩陣(要求至少6個城市,10條邊)3、最小生成樹中包括的邊及其權值,並顯示得到的最小生成樹的代價。
  • 機器學習|決策樹的生成過程是怎樣?(一)
    本文筆者將用具體例子講述決策樹的構建過程,分析:決策樹生成過程中有什麼樣的問題?一、基本概念決策樹的定義:首先,決策樹是一種有監督的分類算法——即給定X,Y值,構建X,Y的映射關係。不同於線性回歸等是多項式,決策樹是一種樹形的結構,一般由根節點、父節點、子節點、葉子節點構成如圖所示。
  • JAVA必須掌握的數據結構和算法
    當最下面一行裡沒有多餘空間時,就再往下另起一行,把數據加在這一行的最左端④如果子結點的數字小於父結點的,就將父結點與其左右兩個子結點中較小的一個進行交換堆中最頂端的數據始終最小,所以無論數據量有多少,取出最小值的時間複雜度都為O(1)可知樹的高度為log2n,那麼重構樹的時間複雜度便為O(logn)
  • 數據結構與算法-2
    舉例:從前有座山,山裡有座廟,廟裡有個老和尚講故事。講的是從前有座山,山裡有座廟.....(階乘、Fibonacci數列)。分治定義:map reduce的思想,把大的問題分解(Divide)成一個個小問題。把小問題的解(Conquer)一個個的合併(Combine)起來,分治是藉助遞歸去解決的。
  • 數據科學家應該知道的頂級機器學習算法
    半監督學習輸入數據是帶標籤和未帶標籤的示例的混合。存在期望的預測問題。但是模型必須學習組織數據的結構以及做出預測。示例問題是分類和回歸。示例算法是對其他靈活方法的擴展。這就假設了如何對未標記的數據建模。按相似度分組的算法ML算法通常在功能方面按相似性分組。例如,基於樹的方法和受神經網絡啟發的方法。
  • 機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用...
    原標題:機器學習、深度學習算法原理與案例實踐暨Python大數據綜合應用高級研修班通信和信息技術創新人才培養工程項目辦公室 通人辦〔2018〕 第5號 機器學習、深度學習算法原理與案例實踐暨Python
  • 數據挖掘之關聯規則算法(Apriori)
    )其目標是發現滿足最小支持度閾值的所有項集,這些項集稱作頻繁項集。關聯分析的目標發現頻繁項集;由頻繁項集產生強關聯規則,這些規則必須大於或等於最小支持度和最小置信度。如果{A, B}是非頻繁的,那麼{A, B, C},{A, B, C, D}也一定是頻繁的使用Apriori算法發現頻繁項集掃描數據集,得到所有出現過的數據,作為候選1項集
  • 遺傳算法原理以及在量化投資的應用
    原標題:遺傳算法原理以及在量化投資的應用 點擊標題下「藍色微信名」可快速關注 本篇內容涉及遺傳算法的概念,原理描述,實現方法以及在量化投資的應用。 達爾文有一句話這麼說的: 能夠生存下來的往往不是最強大的物種,也不是最聰明的物種,而是最能適應環境的物種 。 簡單的說,隨著時間的流逝,一代代的繁殖,不管外部的環境如何惡劣,都會通過遺傳和變異生存下來,以致適應環境。不適應環境的生物將會被淘汰。
  • 從決策樹到隨機森林:樹型算法的原理與實現
    每種方法都包括生成多種樹,這些樹被聯合起來,生成一個單一的一致性預測結果,並且經常帶來預測精度的顯著提升。決策樹決策樹是一種監督學習算法。它適用於類別和連續輸入(特徵)和輸出(預測)變量。基於樹的方法把特徵空間劃分成一系列矩形,然後給每一個矩形安置一個簡單的模型(像一個常數)。從概念上來講,它們是簡單且有效的。首先我們通過一個例子來理解決策樹。
  • 記一次HEX和RGB互換算法的思考及應用
    , 並且實現隨機生成HEX值和隨機生成RGB值的函數,最後帶著大家深度理解和掌握顏色領域的應用.1 文章摘要HEX與16進位HEX轉RGB算法RGB轉HEX算法應用場景2 HEX(16進位)十六進位(英文名稱:Hexadecimal),是計算機中數據的一種表示方法。和我們平常的表示法不一樣。它由0-9,A-F組成,字母不區分大小寫。
  • SQL Server2008中的9種數據挖掘算法淺析
    【IT168 技術文檔】  在sql server2008中提供了9種常用的數據挖掘算法,這些算法用在不同數據挖掘的應用場景下,下面我們就各個算法逐個分析討論。  1.決策樹算法  決策樹,又稱判定樹,是一種類似二叉樹或多叉樹的樹結構。
  • 關於「樹」的算法:現實生活中的決策樹
    樹的結構給了我們開發算法的靈感,並再將其反饋到機器,讓它們學習我們希望它們學習的東西,以解決現實生活中的問題。這些基於樹的學習算法被認為是最好和最常用的監督學習方法之一:決策樹、隨機森林、梯度提升等方法在各種數據科學問題中得到了廣泛應用。對於每一個機器學習的初學者來說,學習這些算法並將其用於建模非常重要。
  • 微軟、優步,老工程師告訴你哪些數據結構和算法最重要
    最後,Gergely Orosz 藉助這些知識來理解有些事物如何和為何構建,以及如何使用或修改它們。由此可見,數據結構和算法並不是如人們所言用處不大。在本文中,Gergely Orosz 列舉了一系列現實世界的實例,包含生產中會用到的樹、圖等數據結構和各種算法。
  • 樹模型(一)——樹的構造
    本章主要先闡述決策樹的定義,然後對如何構建一棵樹展開詳細介紹,主要針對特徵選擇,針對決策樹過擬合問題講解決樹的剪枝,最後介紹對連續變量和缺失值的處理。樹模型在樹的構建上,分類樹主要是二分類樹,它是最常見和應用最廣泛的。首先我們從數據結構上認識樹。
  • 史上最全GAN綜述2020版:算法、理論及應用
    首先,我們詳細介紹了大多數 GAN 算法的研究動機、數學表徵和架構。此外,GAN 已經在一些特定應用上與其它機器學習算法相結合,如半監督學習、遷移學習和強化學習。本文比較了這些 GAN 方法的異同。其次,我們研究了與 GAN 相關的理論問題。第三,我們闡述了 GAN 在圖像處理與計算機視覺、自然語言處理、音樂、語音與音頻、醫學以及數據科學中的典型應用。
  • 機器學習中決策樹的原理與算法 | 科普
    因為一個數據集的信息熵是固定的,所以這個問題就轉化為選擇條件信息熵最小的屬性,所以我們只要求出條件信息熵最小的屬性就知道根結點了。 我們只需要將已經得到的結點看做一個新的根結點,利用最小化條件信息熵的方法即可。
  • 基於AES算法實現對數據的加密
    密碼學作為信息安全領域的一項重要技術,被普遍認為是解決信息安全保護最有效的方法。現在網絡應用的信息安全技術(如數據加密技術、數字籤名技術、消息論證與身份識別技術、防火牆技術以及反病毒技術等)都是以密碼學為基礎的。2 現代密碼學分類 現代密碼學技術存在兩類密碼體制,分為對稱密碼體制(也稱為私鑰密碼體制)和非對稱密碼體制(也稱為公鑰密碼體制)。
  • 10大機器學習算法,看懂你就是數據科學家
    通過擬合直線和曲線得到一個方程。現在,你可以使用它們來適配機器學習中的曲線,用於非常小的低維數據集。對於大數據或多維度的數據集,你可能會需要過度擬合,所以不用費心。普通最小二乘法(OLS)具有封閉形式的解決方案,因此你不需要使用複雜的優化技術。
  • 用圖形解釋10種圖形算法
    快速介紹10種基本圖形算法以及示例和可視化在現實世界中,例如社交媒體網絡,網頁和連結以及GPS中的位置和路線,圖形已經成為一種強大的建模和捕獲數據的手段。 如果您有一組相互關聯的對象,則可以使用圖形來表示它們。