熱線電話:13121318867

登錄
首頁大數據時代圖論到底是什么?它的算法又有哪些?
圖論到底是什么?它的算法又有哪些?
2020-07-16
收藏

圖論是什么?關于圖的理論?下面跟小編具體來了解一下圖論以及簡單的圖論算法吧。

一、圖論起源

18世紀著名古典數學問題之一。在哥尼斯堡的一個公園里,有七座橋將普雷格爾河中兩個島及島與河岸連接起來(如圖)。問是否可能從這四塊陸地中任一塊出發,恰好通過每座橋一次,再回到起點?歐拉于1736年研究并解決了此問題,他把問題歸結為如右圖的“一筆畫”問題,證明上述走法是不可能的。

以此,我們來看圖論的概念:

圖論〔Graph Theory〕以圖為研究對象。在圖論中,一般只存在兩種形態:節點和邊。

節點,也就是上述故事問題引入中的四塊陸地——河的兩岸,兩個小島。vertex-節點,因為首字母是V,所以用V來代表節點。

邊,也就是上面故事里提到的七座橋。邊(edge),因首字母為E,所以簡稱E。

圖論中,我們通常用G來表示圖

所以:G=(V,E)。

二、圖論最簡單算法

1.最短路徑

我們主要考慮單源最短路徑問題,也就是給定一個賦權圖G=(V,E),和一個特定的頂點s作為輸入,找出從s到G中每一個其他頂點的最短賦權路徑。

(1)從一個特定的頂節點s出發,那么從s到s的最短路徑長度就是0;

(2)需要找到和s相鄰的節點,這些節點到s的最短距離為1.把這些頂點標記,代表著已經找到了s到這些節點的最短路徑。

(3)尋找距離s為2的節點,從s的鄰點a出發,找到距離a為1的那些還未標記的節點,那么,理所當然的,s到這些頂點的最短路徑為2.對這些節點進行標記。

(4)一直到全部點被標記,程序結束。

2.最小生成樹

簡單來說,對于一個有 n 個點的圖,邊一定是大于等于 n-1 條的,最小生成樹,就是在這些邊中選擇 n-1 條出來連接所有的 n 個點,且這 n-1 條邊的邊權之和是所有方案中最小的。

最小生成樹具有以下兩條性質:

切割性質:連接點 x、y 的邊權最小的邊必定被生成樹包含

回路性質:任意回路/環上的邊權最大的邊必不被生成樹包含

求最小生成樹一般有 Prim 算法與 Kruskal 算法,其中,Prim 算法時間復雜度為 O(V*V),與圖中邊數無關,適合稠密圖;Kruskal 算法時間復雜度 為O(ElogE),需要對圖的邊進行訪問,適合稀疏圖。

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢