6.1.1圖的基本概念

基本概念

圖:

頂點集+邊集

頂點集:所有頂點的集合,不能為空(因為圖是頂點集和邊集組成,其中一個頂點集不能為空,則圖肯定不為空)

邊集:所有邊的集合,邊是由頂點集中的2個頂點構成,如果邊集里的邊不是由頂點集里的2個頂點構成,那就構不成圖,可以為空

無向圖:

(只有度、邊、連通、連通圖、極大連通子圖(連通分量)、生成樹、帶權路徑長度的概念)

各個邊沒有方向,A和B有一條線,則A可以到B,B可以導A。邊用圓括號(),(A,B)=(B,A)

度:

依附于該頂點的邊的條數,也就是這個頂點有多少條線。記為TD(V)。TD(C)=2。一條邊為2個頂點提供一個度,即無向圖的度數之和是邊數的2倍

有向圖:

(只有入度、出度、弧頭、弧尾,強連通、強連通圖、強連通分量概念):

各個邊有方向,各個邊又稱為弧,用尖括號<>表示邊,<A,B>≠<B,A>,A指向B,B沒有指向A,則B就不能到A。有箭頭指向的頂點稱為弧頭,沒有箭頭指向的頂點稱為弧尾,如<v,w>是從v到w的距離,v指向w,w是是弧頭,v是弧尾

頂點的入度:

以該頂點為基準,往該頂點指的箭頭有幾個。有多少邊指向該頂點。ID(A)=1

頂點的出度:

以該頂點為基準,往外指的箭頭有幾個。該頂點指向多少邊。OD(A)=4

?簡單圖:沒有頂點到自身的邊+沒有重復邊

多重圖:加了頂點到自身的邊

路徑(2個頂點之間):

從1個頂點到另外一個頂點經過了哪些頂點序列(頂點可以重復,沒有重復的頂點序列就是簡單路徑)。

距離(2個頂點之間):

路徑的長度。估摸是路徑中的頂點序列個數

無向圖A到D的路徑:ABD頂點序列(簡單路徑)或ABED(簡單路徑)序列或ABECD(簡單路徑)序列或ABEBD(出現重復頂點B,不是簡單路徑,但還是路徑)即頂點序列

無向圖連通(2個頂點之間):

從一個頂點到另外一個頂點之間有沒有路徑存在,有路徑就是連通,沒路徑就是不連通。F頂點沒邊,即和其他頂點沒有連接,沒有路徑,不連通,沒有路徑的距離都是∞,距離都是最短序列(沒邊的頂點都沒有路徑,沒有路徑的距離都是∞)

有向圖強連通(2個頂點之間):

如果從A到E有路徑,從E到A有路徑,則稱為兩個頂點強連通。如果有向圖A到E有路徑,E到A沒有路徑,因為沒有從E指出的箭頭,

連通圖:

針對無向圖來說,任意2個頂點都是連通的,即都有路徑,稱為連通圖,否則稱為非連通圖。

強連通圖:

針對有向圖來說,任意2個頂點都是強連通的,就是強連通圖

子圖:

從一個圖的頂點集合拿出一些頂點,再從圖的邊集里拿出一些邊,拿出的邊集和頂點集構成的圖(一定要構成圖,有的還構不成圖,如下圖就夠不成圖)就是原圖的子圖

生成子圖:

有2個圖,圖A和圖B,圖A和圖B的頂點集完全相同,但是圖B的邊集比圖A的邊集少(即少幾條邊)那圖B就是圖A的生成子圖?

?

連通分量(極大,無向圖):

極大連通子圖(無向圖的子圖中的任意2個頂點之間都是連通的,即有路徑,并且盡可能都多的頂點和邊)稱為連通分量

連通分量如下:無向圖中G的三個子圖中都是連通圖(任意2個頂點之間都有路徑,子圖G只有一個頂點沒邊,所以認為也是連通的吧,各個子圖帶多個頂點啥的就不是連通圖了,比如把J這個頂點放到GHI這個子圖里,GHI子圖就不連通了),且盡可能多的包含了無向圖G中的頂點和邊(那意思是無向圖G原來不是連通圖吧,因為J這個頂點和任意頂點都不連通且G、I、H和帶A的子圖也不連通)

?強連通分量(有向圖):

有向圖中的ABCDE頂點是強連通的(因為各個頂點之間可以逆推),但是加上F頂點不是(因為ABCDE頂點都可以推到F頂點,即連通,但是F頂點沒有到ABCDE的箭頭指向,即沒有路徑不能逆推,故不是強聯通的),所以要把F頂點抽離出來,G頂點同,故構成如下三個強聯通子圖即強連通分量(跟無向圖類似,還是讓每個子圖盡量有多的可強連通的頂點和邊)

生成樹(極小):

針對無向圖來說,首先生成樹包含圖中的所有頂點還要保持連通,但是還要在連通的請情況下保證邊少,即在保證連通的情況下,頂點數-1為最少的邊數,因為少一條邊的樹有各種形式,則一個圖的生成樹可能有多條。對于生成樹而言,少一條邊就會變成非連通圖,多一條邊就會形成一個回路。

一般生成樹用于各個沒有打通的村修路,各個村就相當于各個頂點,要讓各個村打通,不一定要把各個村之間都修上路,因為花費太大,所以可以使用生成樹的概念,在保證各個村連通的前提下,有最少的邊,邊修少了意味著修路的花費變少,且因為一個圖的生成樹樣式不只一種,則可以根據現實中修每條路的實際成本有多少,來確定到底怎樣修路

?

生成森林:

順序是圖是非連通圖,然后形成一個個連通分量(各個連通分量都是連通的且是圖的極大連通子圖,即在保證連通的前提下,每個連通分量擁有盡可能多的圖的頂點和邊),然后連通分量再形成生成樹(生成樹都是連通的,且生成樹擁有連通分量的全部頂點和在保證連通的前提下盡可能少的邊),然后就形成了生成森林(估摸是所有的連通分量的生成樹合在一起叫生成森林吧)

?

帶權路徑長度:

給路徑標上值,從北京到上海的帶權路徑長度=經過的路徑上標的值之和

帶權圖:

給路徑上標值的圖

?

?

有向樹并不是強連通圖,不是不都是是不是強連通圖?

?

做個記錄。。。。。。?

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

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

相關文章

WeakAuras Lua Script [TOC BOSS 5 - Anub‘arak ]

WeakAuras Lua Script [TOC BOSS 5 - Anubarak ] 阿努巴拉克 - 小強中蟲范圍 插件 !WA:2!DE1B0Xrvv8UmuRmIqZwiaXQmgKycwsYUPjPLZPTz3nBYULKnBNDtlYP6o)7T7mMzNz6BMnnBefBqGacIUOsXIkSIki)rCbLkIhLi6h8t3to6h9G2dXt4R9d(rR33mt2MyepQ75KSV3BUZ9FV7VF37g54rDvgU)yX7)GrRgvlQ2Y…

【C/C++】深度探索c++對象模型_筆記

1. 對象內存布局 (1) 普通類&#xff08;無虛函數&#xff09; 成員變量排列&#xff1a;按聲明順序存儲&#xff0c;但編譯器會根據內存對齊規則插入填充字節&#xff08;padding&#xff09;。class Simple {char a; // 1字節&#xff08;偏移0&#xff09;int b; …

湖北理元理律師事務所:債務優化中的雙維支持實踐解析

在債務壓力與生活質量失衡的社會議題下&#xff0c;法律服務機構的功能邊界正在從單一的法律咨詢向復合型支持延伸。湖北理元理律師事務所通過“法律心理”雙維服務模式&#xff0c;探索債務優化與生活保障的平衡路徑&#xff0c;其方法論或為行業提供實踐參考。 法律框架&…

Python uv包管理器使用指南:從入門到精通

Python uv包管理器使用指南&#xff1a;從入門到精通 作為一名Python開發者&#xff0c;你是否曾經為虛擬環境管理和依賴包安裝而頭疼&#xff1f;今天我要向大家介紹一個強大的工具——uv包管理器&#xff0c;它將徹底改變你的Python開發體驗。 什么是uv包管理器&#xff1f…

Windows系統安全加固

掌握的加固點&#xff1a; 用戶系統檢查 口令策略檢查 日志審計檢查 安全選項檢查 信息保護檢查 2.2.1 用戶系統檢查 #檢查系統版本內核 判斷依據&#xff1a;無 檢查方式&#xff1a;命令 msinfo32 dxdiag查看 #檢查Administrator賬號是否停用 判斷依據&#xff1a;禁…

小蝸牛撥號助手用戶使用手冊

一、軟件簡介 小蝸牛撥號助手是一款便捷實用的撥號輔助工具&#xff0c;能自動識別剪貼板中的電話號碼&#xff0c;支持快速撥號操作。最小化或關閉窗口后&#xff0c;程序將在系統后臺運行&#xff0c;還可設置開機自啟&#xff0c;方便隨時使用&#xff0c;提升撥號效率。 …

c/c++消息隊列庫RabbitMQ的使用

RabbitMQ C 消息隊列組件設計與實現文檔 1. 引言 1.1. RabbitMQ 簡介 RabbitMQ 是一個開源的消息代理軟件&#xff08;也稱為面向消息的中間件&#xff09;&#xff0c;它實現了高級消息隊列協議&#xff08;AMQP&#xff09;。RabbitMQ 服務器是用 Erlang 語言編寫的&#…

線程(二)OpenJDK 17 中線程啟動的完整流程用C++ 源碼詳解之主-子線程通信機制

深入解析OpenJDK 17中Java線程的創建與主-子線程通信機制 引言 在Java中&#xff0c;線程的創建與啟動通過Thread.start()實現&#xff0c;但底層是JVM與操作系統協作完成的復雜過程。本文基于OpenJDK 17的C源碼&#xff0c;揭秘Java線程創建時主線程與子線程的通信機制&…

多線程爬蟲語言選擇與實現

之前文中有人提到&#xff1a;想要一個簡單易用、能快速實現多線程爬蟲的方案&#xff0c;而且目標是小網站&#xff0c;基本可以確定對反爬蟲措施要求不高&#xff0c;這些就比較簡單了。 以往我肯定要考慮常見的編程語言中哪些適合爬蟲。Python、JavaScript&#xff08;Node…

AMD Vivado? 設計套件生成加密比特流和加密密鑰

概括 重要提示&#xff1a;有關使用AMD Vivado? Design Suite 2016.4 及更早版本進行 eFUSE 編程的重要更新&#xff0c;請參閱AMD設計咨詢 68832 。 本應用說明介紹了使用AMD Vivado? 設計套件生成加密比特流和加密密鑰&#xff08;高級加密標準伽羅瓦/計數器模式 (AES-GCM)…

Unity3D仿星露谷物語開發44之收集農作物

1、目標 在土地中挖掘后&#xff0c;灑下種子后逐漸成長&#xff0c;然后使用籃子收集成熟后的農作物&#xff0c;工具欄中也會相應地增加該農作物。 2、修改CropStandard的參數 Assets -> Prefabs -> Crop下的CropStandard&#xff0c;修改其Box Collider 2D的Size(Y…

list重點接口及模擬實現

list功能介紹 c中list是使用雙向鏈表實現的一個容器&#xff0c;這個容器可以實現。插入&#xff0c;刪除等的操作。與vector相比&#xff0c;vector適合尾插和尾刪&#xff08;vector的實現是使用了動態數組的方式。在進行頭刪和頭插的時候后面的數據會進行挪動&#xff0c;時…

CE17.【C++ Cont】練習題組17(堆專題)

目錄 1.P2085 最小函數值 題目 分析 方法1:暴力求解 方法2:二次函數的性質(推薦!) 代碼 提交結果 2.P1631 序列合并 分析 方法1:建兩個堆 第一版代碼 提交結果 第二版代碼 提交結果 第三版代碼 提交結果 方法2:只建一個堆 代碼 提交結果 1.P2085 最小函數值…

題單:表達式求值1

題目描述 給定一個只包含 “加法” 和 “乘法” 的算術表達式&#xff0c;請你編程計算表達式的值。 輸入格式 輸入僅有一行&#xff0c;為需要計算的表達式&#xff0c;表達式中只包含數字、加法運算符 和乘法運算符 *&#xff0c;且沒有括號。 所有參與運算的數字不超過…

DeepSeek超大模型的高效訓練策略

算力挑戰 訓練DeepSeek此類千億乃至萬億級別參數模型,對算力資源提出了極高要求。以DeepSeek-V3為例,其基礎模型參數量為67億,采用專家混合(MoE)架構后實際激活參數可達幾百億。如此規模的模型遠超單張GPU顯存容量極限,必須借助分布式并行才能加載和訓練。具體挑戰主要包…

MFC中DoDataExchange的簡明指南

基本概念 DoDataExchange 是 MFC 框架中實現數據自動同步的核心函數&#xff0c;主要用于對話框中控件與成員變量的雙向綁定。它能讓控件中的數據和成員變量自動保持一致&#xff0c;無需手動讀寫控件數據。 使用示例 1&#xff09;變量聲明 在對話框頭文件中聲明與控件對應…

FreeCAD源碼分析: Transaction實現原理

本文闡述FreeCAD中Transaction的實現原理。 注1&#xff1a;限于研究水平&#xff0c;分析難免不當&#xff0c;歡迎批評指正。 注2&#xff1a;文章內容會不定期更新。 一、概念 Ref. from What is a Transaction? A transaction is a group of operations that have the f…

C++類與對象--1 特性一:封裝

C面向對象三大特性&#xff1a; &#xff08;1&#xff09;封裝&#xff1b;&#xff08;2&#xff09;繼承&#xff1b;&#xff08;3&#xff09;多態&#xff1b; C認為萬物皆是對象&#xff0c;對象上有對應的屬性&#xff08;數據&#xff09;和行為&#xff08;方法&…

初探Reforcement Learning強化學習【QLearning/Sarsa/DQN】

文章目錄 一、Q-learning現實理解&#xff1a;舉例&#xff1a;回顧&#xff1a; 二、Sarsa和Q-learning的區別 三、Deep Q-NetworkDeep Q-Network是如何工作的&#xff1f;前處理&#xff1a;Convolution NetworksExperience Replay 一、Q-learning 是RL中model-free、value-…

WebRTC技術EasyRTC嵌入式音視頻通信SDK打造遠程實時視頻通話監控巡檢解決方案

一、方案概述? 在現代工業生產、基礎設施維護等領域&#xff0c;遠程監控與巡檢工作至關重要。傳統的監控與巡檢方式存在效率低、成本高、實時性差等問題。EasyRTC作為一種先進的實時音視頻通信技術&#xff0c;具備低延遲、高穩定性、跨平臺等特性&#xff0c;能夠有效解決這…