获得无向图连通子图_讲透学烂二叉树(一):图的概念和定义—各种属性特征浅析...
樹和圖的概念
圖是一種特殊的數(shù)據(jù)結(jié)構(gòu),由點和邊構(gòu)成,它可以用來描述元素之間的網(wǎng)狀關(guān)系,這個網(wǎng)狀沒有順序,也沒有層次,就是簡單的把各個元素連接起來。
圖的概念和基本性質(zhì)
圖(graph):圖(graph)由邊(edge)的集合及頂點(vertex)的集合組成。通常記為:G=(V,E)。對于兩個圖G和G’,如果G’的頂點集合與邊集合均為G的頂點集合與邊集合的子集,那么稱G’是G的子圖。子圖實際上就是一張圖里面小一點的圖,也可以是點,不難理解。
圖常用來表示“多對多”的關(guān)系,如常說的:六度空間理論(Six Degrees Separation)
頂點(vertex)的屬性:
- 度數(shù)(degree),與該頂點相關(guān)聯(lián)的總邊數(shù),一個圖G的總度數(shù)d(V)等于總邊數(shù)2倍:2E。當圖的邊具有方向時,一個頂點又分為出度(out-degree)和入度(in-degree),出度是以該頂點為起點的邊數(shù),入度是以該頂點為終點的邊數(shù)。
- 階數(shù)(order),圖G中頂點集V的大小為G的階數(shù)。
邊又稱為線(line)或弧(arc),邊(u,v)中表示u和v鄰接(adjacent),(u, v) ∈ E,
邊(edge)的屬性:
一條邊是一個頂點對(u,v),u, v ∈ V,按照圖的頂點對是否有序,頂點對有序的圖稱為有向圖(directed graph, digraph),此時邊(u,v)和(v,u)是兩條不同的邊,頂點對無序的圖稱為無向圖(undirected graph),此時邊(u,v)和(v,u)是兩條相同的邊,無向圖可看作一個特殊的有向圖
具有成分的邊包含:權(quán)(weight)、值(cost/value),此時圖由可分為有權(quán)圖(weighted graph)和無權(quán)圖(unweighted graph),無權(quán)圖可以看作是所有邊權(quán)值相同的有權(quán)圖。
路徑(path),一條路徑是一個頂點序列u1, u2, u3, …, un,(ui, u(i+1)) ∈E,1<=i<n。路徑長等于路徑的邊數(shù):n-1,不包含邊的路徑長為0。
簡單路徑:路徑上所有頂點互異,起點和終點可以相同
環(huán)或圈(cycle),此時u1=un,而且路徑長至少為1,有向圖(u,v)和(v,u)是一個圈,無向圖(u,v)和(v,u)通常不被認為是一個圈。其中無圈圖(acyclic graph)中沒有圈,無圈有向圖又稱為DAG(directed acyclic graph)
- 自環(huán)邊(self loop),兩個頂點都相同的邊。
- 重邊或平行邊(parallel edges),連接兩個頂點的邊數(shù)超過一條,又稱為多重邊(multiple edges)
連通圖(connected graph),無向圖中每個頂點到任意頂點都存在一條路徑,連通的有向圖稱為強連通(strongly connected),非連通的有向圖,去掉方向其基礎(chǔ)圖(underlying graph)是連通的,則成為弱連通的(weakly connected)
完全圖(complete graph),圖中任意一對頂點都存在一條邊
稀疏圖(sparse graph),每個頂點的度數(shù)較小的圖
圖的基本基本概念
- 頂點的度:無向圖中連著頂點的邊的數(shù)目。
- 頂點的入度和出度:有向圖中,以這個頂點為起點的邊的數(shù)量稱為這個頂點的出度;以這個頂點為終點的邊稱為這個頂點的入度。
- 邊權(quán):邊的費用,可以形象的理解為“過路費”。對于一張存在邊權(quán)的圖,我們稱為“帶權(quán)圖”。
- 連通:如果圖中兩點U,V之間存在一條由U經(jīng)過若干邊、點到達V的路徑,則稱U,V是連通的。
- 回路:起點和終點相同的路徑,稱為“回路”或“環(huán)”。另外,不存在環(huán)的有向圖稱為Directed Acyclic Graph(DAG)。
- 完全圖:每個點都與其它所有的點有連邊的圖。
- 無向圖:圖的邊沒有方向,可以雙向。
- 有向圖:圖的邊有方向,只能按箭頭方向從一點到另一點。
- 網(wǎng)絡(luò):帶權(quán)重的圖
- 連通:如果從v 到w存在一條(無向)路徑,則稱v和w是連通的
- 路徑:v到w的路徑是一系列頂點的集合,其中任意一對相鄰的頂點間都有圖中的邊。
- 路徑的長度:是路徑中的邊數(shù)(如果帶權(quán),則是所有邊的權(quán)重和)。如果v和w之間的所有頂點都不同,則稱簡單路徑
- 連通圖:圖中任意兩頂點都連通
- 連通分量:無向圖的極大連通子圖
- 極大頂點數(shù):再加一個頂點就不連通了
- 極大邊數(shù):包含子圖中所有頂點相連的所有邊
- 強連通:有向圖中頂點v和w之間存在雙向路勁,則稱v和w是強連通的
- 強連通圖:有向圖中任意兩頂點均強連通
- 弱連通圖:不符合強連通圖的條件,但是若是將邊的方向都去掉,如果是連通的,則稱為弱連通圖
- 強連通分量:有向圖的極大強連通子圖
圖的簡單應(yīng)用
圖的應(yīng)用很廣泛,這里舉幾個簡單的例子。
- 航空系統(tǒng):頂點表示機場,邊表示時間、距離或飛行的費用,一般最好有強連通的航空系統(tǒng),另外常見的需求問題有:求任意兩個機場的最佳航線。
- 交通流:頂點表示街道的交叉口或紅綠燈點,邊表示速度限度或車輛容量,這時可以求最可能參數(shù)交通瓶頸的位置,或找出一條最短路。
- 社交網(wǎng)絡(luò):頂點表示用戶,用戶的活動、推薦或好友代表邊,這樣可以表示一個完整的社交用戶網(wǎng)絡(luò)。
- 電商推薦系統(tǒng):頂點表示用戶已瀏覽、收藏、購物過等相關(guān)的商品,邊表示兩個商品的相似性,可表示為有權(quán)圖,權(quán)值為相似性的大小。
另外圖論又可用于研究物理學(xué)和化學(xué)中的分子
圖的遍歷
本系列主要講二叉樹,關(guān)于圖,推薦閱讀文章有:
- 數(shù)據(jù)結(jié)構(gòu)與算法之圖的概念、存儲結(jié)構(gòu)及遍歷方式 https://www.cnblogs.com/ivy-zheng/p/10995510.html
- 圖的概念、存儲及遍歷 https://blog.csdn.net/qq_39914766/article/details/90182084
- 圖論(graph theory)算法原理、實現(xiàn)和應(yīng)用全解 www.srcmini.com/1635.html
轉(zhuǎn)載本站文章《講透學(xué)爛二叉樹(一):圖的概念和定義—各種屬性特征淺析》,
請注明出處:https://www.zhoulujun.cn/html/theory/algorithm/TreeGraph/8281.html
總結(jié)
以上是生活随笔為你收集整理的获得无向图连通子图_讲透学烂二叉树(一):图的概念和定义—各种属性特征浅析...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无效0_一场时代的变革,一场与时间的较量
- 下一篇: static在内存层面的作用_虚拟地址空