圖論例題解析

1.圖論基礎概念

概念

(注意連通非連通情況,+1節點)
無向圖: 兩倍(沒有入度和出度的概念)
在這里插入圖片描述
1.完全圖: 假設一個圖有n個節點,那么任意兩個節點都有則為完全圖
2.連通圖:是指任意兩個結點之間都有一個路徑相連。
3.區別: n個頂點的完全圖有n(n-1)/2條邊;而連通圖則不一定,但至少有n-1條邊。舉個例子,四個頂點的完全圖有6條邊,也就是四條邊加上2條對角線;而連通圖可以只包含周圍四條邊就可以了。
4.強連通圖:
你到我有路徑,我到你有路徑——>最少邊數為n(環),至多邊數為n(n-1);
有向圖G中,如果兩個頂點vi,vj間(vi>vj)有一條從vi到vj的有向路徑,同時還有一條vj到vi的有向路徑,則稱兩個頂點強連通(strongly connected)。如果有向圖G的每兩個頂點都強連通,稱G是一個強連通圖

在這里插入圖片描述
5.連通分量:

  1. 子圖相通
  2. 子圖極大
    與連通圖對應,一般書上說的都是特指無向圖!!
    首先要知道分量,分量其實就是子圖,只不過說的高大尚罷了。但連通分量不是簡單的子圖連通,他還除了要求子圖連通,還要求該連通子圖極大。說白了,無向圖極大連通子圖就是連通分量。到這里先往下看極大連通子圖再回來看
    在這里插入圖片描述

6.極大連通分量:
從5我們知道他首先是連通子圖,并且該連通子圖是極大的,主要是這里的極大很不好理解。這里我畫圖舉例
在這里插入圖片描述
7.極小連通分量:
在這里插入圖片描述
7.生成樹:
連通圖的生成樹是包含圖中全部頂點的一個極小連通子圖
在這里插入圖片描述
8.生成森林:
在這里插入圖片描述
9.有向樹
一個頂點的入度為0,其余頂點入度為1的有向圖為有向樹

例題

1.
在這里插入圖片描述
2.
答案選B:
無向圖:是沒有方向的,而強連通圖 強調的是有方向的圖
有回路,也不一定正確,可能會出現以下情況:訪問不到其余節點
一棵樹
,只有從根節點出發才能訪問所有節點
在這里插入圖片描述
在這里插入圖片描述
3.
1.子圖的概念:
**子圖:**假設有兩個圖G=(V,{E})和g=(v,{e}),如果v?V,e?E,則稱g為G的子圖;

    例:假設有圖G=(V,{E}),頂點集A?V,B?E,則A和{B}構成G的子圖。答:錯誤,因為A和B未必能構成圖。定義中g是G的子圖,是因為給條件時已經明確g是圖

2.無向完全圖和有向完全圖的概念:
無向完全圖:每個節點之間都有邊,為1/2(n(n-1));
有向完全圖:任意兩個頂點之間都存在方向相反的兩條弧。n(n-1);
在這里插入圖片描述
3.
強連通圖的概念:
有方向,有邊,但是強連通圖不能保證任何頂點到其他所有頂點都有弧,可能只與其中之一之間有弧
圖的入度和出度:
圖的入度和出度不一定相等,入讀可能為0
有向完全圖:
有邊且方向為雙向,邊數為
n
(n-1)
,故有向完全圖一定為強連通圖 (有邊有方向)
有向圖邊集的子集和頂點的子集不一定能夠構成子圖:除非明確給出這個子集構成了個圖
在這里插入圖片描述

5.
注意非連通的情況
在這里插入圖片描述
6.
對于強連通有向圖,成一個環,三個節點三條邊
你到我有路徑,我到你有路徑——>最少邊數為n(環),至多邊數為n(n-1);
在這里插入圖片描述
7.
在這里插入圖片描述
8.
n個頂點最多n-1條邊,算入度出度,2*(n-1)

在這里插入圖片描述
10.
五個頂點的完全圖基礎之上再加一個頂點使其為連通圖
在這里插入圖片描述
11.
可以知道的是樹一定是一個連通圖——>所以符合n個節點n-1條邊

  1. 生成樹指的是最小連通子樹,而連通分量指的是極大連通子樹
  2. 生成樹確實是無環的
  3. 生成樹與最下連通子樹相關
    在這里插入圖片描述
    12.
    n個頂點,成為一個環,有n個邊,n個邊有n顆生成樹(也可以從度方面思考)
    在這里插入圖片描述
    13.
    設森林中有s棵樹,再用n-1條邊就能把所有的樹連接成一棵樹,此時,邊數+1=頂點數,即e+(x-1)+1=n => x=n-e
    在這里插入圖片描述
    14.
    有向圖中,頂點的度入度與出度之和n個頂點的有向圖中,任一頂點最多還可以與其他n—1個頂點有一對邊相連。 2(n-1)*

15.
圖為環,則度最少為2

在這里插入圖片描述
16.
與上述類似,一個無向圖若要有七個節點,要保證它是連通的,說明六個節點的時候是完全圖,所以邊數為6*(5)/2,但因為要將其變為連通圖,所以需要+1條邊
在這里插入圖片描述

17.鄰接矩陣:
非對稱的鄰接矩陣,說明為有向圖,(因為無向圖一定是對稱的),各頂點的度依次是=入度+出度,為3423
如果是無向圖就要/2;

在這里插入圖片描述

2.圖的存儲

鄰接矩陣

無向圖的鄰接矩陣是唯一的;鄰接表是唯一的
在這里插入圖片描述

鄰接表

**前提:**因為鄰接矩陣較為稀疏,所以我們用鄰接表法減少空間的消耗

  1. 有向圖,無向圖都能夠存儲

  2. 鄰接表存儲有向圖時,頂點的出度個數單鏈表中的節點個數

  3. 無向圖中,鄰接表不唯一,若無向圖中有n個頂點e條邊,則其鄰接表需要n個頭結點2e個表結點。適宜存儲稀疏圖。

  4. 在這里插入圖片描述
    在這里插入圖片描述

  5. 無向圖和有向圖存儲空間的比較
    **無向圖:**頂點數+2*邊數;**有向圖:**定點數+邊數
    在這里插入圖片描述

圖的遍歷

深度優先DFS:
從上至下遍歷,如果到頂了(已經走過的路就不走了),就返回上一步節點
在這里插入圖片描述

廣度優先BFS:
從左到右一層一層遍歷,放入(找當前節點距離為1的節點們,放入,然后繼續遍歷)
在這里插入圖片描述
鄰接矩陣的遍歷:
注意遍歷的唯一性
在這里插入圖片描述

例題

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

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

相關文章

【MySQL】SQL 優化

MySQL - SQL 優化 1. 在 MySQL 中,如何定位慢查詢? 1.1 發現慢查詢 現象:頁面加載過慢、接口壓力測試響應時間過長(超過 1s) 可能出現慢查詢的場景: 聚合查詢多表查詢表數據過大查詢深度分頁查詢 1.2 通…

錯誤筆記:Anaconda 錯誤(閃退、無法安裝等) + Pycharm 錯誤(無法啟動)+ python 報錯

Anaconda 錯誤 1、導航器啟動中發生-- 閃退 方法一: Windows下: 1)使用管理員運行:conda prompt 2)執行命令 conda update anaconda-navigator 方法二: 重置Anaconda配置:anaconda-navigator…

C語言第三十四彈---動態內存管理(下)

?個人主頁: 熬夜學編程的小林 💗系列專欄: 【C語言詳解】 【數據結構詳解】 動態內存管理 1、動態內存經典筆試題分析 1.1、題目1 1.2、題目2 1.3、題目3 1.4、題目4 2、柔性數組 2.1、柔性數組的特點 2.2、柔性數組的使用 2.3、…

【c++】計算樹的深度和節點數

在C語言中,計算給定樹的層數(深度)和節點總數通常需要使用遞歸方法。首先,我們需要定義樹的節點結構。這里假設我們處理的是一棵二叉樹,每個節點有兩個子節點(左子節點和右子節點)。 下面是一個…

5.STL源碼解析-算法、仿函數、適配器

算法 STL算法總覽 仿函數與適配器 C標準模板庫(STL)是C程序員的得力工具,提供了許多強大而高效的數據結構和算法。在STL中,仿函數(Functor)和適配器(Adapter)是兩個重要的概念…

C語言文件操作(fputs() 和 puts() 有兩個小區別)

fputs() 和 puts() 有兩個小區別: 1.puts() 只能向標準輸出流輸出,而 fputs() 可以向任何流輸出。 2.使用 puts() 時,系統會在自動在其后添加換行符;而使用 fputs() 時,系統不會自動添加換行符。 那么這是不是意味著使…

【C++精簡版回顧】17.io流,流中提供的函數

1.流含義 2.流類 3.流對象 4.流對象的函數 舉例&#xff1a; 要求&#xff1a;數據結構中經常需要對齊輸出數據&#xff0c;應該怎么做&#xff1f; 1.頭文件 #include<iomanip> 2.創建表格頭 cout << setiosflags(ios::left) << setw(8) << "姓名…

BUGKU 網站被黑

打開環境&#xff0c;什么都沒發現&#xff0c;使用蟻劍掃描一下&#xff0c;發現shell.php&#xff0c;打開 使用BP抓包&#xff0c;進行爆破 得到密碼&#xff1a;hack 進去得到flag

GEE高階應用python wxee——如何利用來自 GOES-16 和 MODIS 的數據來可視化火災隨時間的進展分析

火災進展 wxee 是專為處理氣象數據而設計的,但它對遙感數據也很有用。在本示例中,我們將了解 wxee 如何利用來自 GOES-16 和 MODIS 的數據來可視化火災隨時間的進展情況。 安裝和設定 #!pip install wxeeimport ee import wxeeee.Authenticate() wxee.Initialize(project=x…

每日一類:QLabel深入解析

QLabel是Qt中用于顯示文本或圖像的控件&#xff0c;屬于Qt Widgets模塊。它是展示靜態內容的理想選擇&#xff0c;支持富文本格式&#xff0c;使得文本可以包含不同的字體、顏色和鏈接。QLabel也可以用來顯示圖像&#xff0c;包括動態圖像。此外&#xff0c;它還支持文本和圖像…

【Java面試題】SpringBoot與Spring的區別

主要區別體現幾個方面&#xff1a; 1.操作簡便性 SpringBoot提供極其快速和簡化的操作&#xff0c;使得Spring開發者能更快速上手。它通過提供spring的運行配置&#xff0c;以及為通用spring項目提供許多非功能性特性&#xff0c;進一步簡化了開發過程。 2.框架擴展性 Spri…

算法學習——差分

在了解差分之前&#xff0c;我們首先需要知道前綴和的概念。 前綴和簡單介紹&#xff1a; 對于一個數組A&#xff0c;要求出A[0]~A[i]的和&#xff0c;我們通常的做法是遍歷一邊&#xff0c;加起來。但是要求m組這樣的和&#xff0c;我們就要花費O(mn)的時間復雜度。顯然不合…

【考研數學】湯家鳳1800題什么水平?

我覺得湯家鳳基礎武忠祥強化這個組合非常的不錯 湯家鳳老師的講課風格 湯家鳳老師的基礎課程是大家公認的講的詳細&#xff0c;并且非常照顧基礎不好的學生&#xff0c;會把基礎知識點掰開揉碎的講給大家聽&#xff0c;在上課過程中&#xff0c;還會把知識點寫在A4紙上&#…

試了下新型的360AI搜索

360AI搜索 試了下&#xff0c;感覺還是挺不錯的。 比如問這個問題&#xff1a; ERROR 1698 (28000): Access denied for user rootlocalhost 它的回答&#xff1a; 對于ERROR 1698 (28000): Access denied for user rootlocalhost的問題&#xff0c;這通常是由于MySQL密碼為…

【Javascript】設計模式之單例模式

文章目錄 1、實現單例模式2、透明的單例模式3、用代理實現單例模式4、JavaScript 中的單例模式5、惰性單例6、通用的惰性單例7、小結 定義&#xff1a; 保證一個類僅有一個實例&#xff0c;并提供一個訪問它的全局訪問點 單例模式是一種常用的模式&#xff0c;有一些對象我們往…

JavaScript 學習總結(16)—— 實用小函數總結

1.匹配正整數 // 匹配正整數 let isPositiveNum = val => {return /^[1-9]d*$/.test(val); }; console.log(isPositiveNum(9)) //true console.log(isPositiveNum(2.2)) //false 2.匹配負整數 // 匹配負整數let isNegativeNum = val => {return /^-[1-9]d*$/.test(val…

R750 install AMD MI210GPU

一、 查看服務器GPU卡信息 可以首先在服務器上check 當前GPU的詳細信息是否匹配 二、安裝 Ubuntu22.04操作系統 服務器CHECK 安裝的AMD GPU 是否被系統識別 #lspci | grep AMD 查看GPU信息 可以看到已經識別成功 三、安裝AMD GPU驅動 https://rocm.docs.amd.com/projec…

linux 根目錄下結構

/ 虛擬目錄的根的目錄&#xff0c;通常不會在這里放置文件 /bin&#xff1a;存放頻繁使用的命令,二進制文件&#xff0c;存放了很多用戶級的GNU實用工具。 /boot&#xff1a;引導目錄&#xff0c;存放引導文件&#xff0c;包含啟動Linux所需的核心文件。 /dev&#xff1a;設…

智能駕駛規劃控制理論學習05-車輛運動學規劃案例分析

目錄 案例一——Hybrid A*&#xff08;基于正向運動學&#xff09; 1、基本思想 2、 實現流程 3、啟發函數設計 4、分析擴張&#xff08;Analytic Expansions&#xff09; 5、分級規劃&#xff08;Hierarchical planning&#xff09; 案例二——State Lattice Planning&…

子矩陣的和 刷題筆記 {二維前綴和}

首先我們的目標是讓 s[i][j]表示為其左方和上方形成的矩陣所有元素的和 加上s[i-1][j]和s[i][j-1]后 s[i-1][j-1]部分重復了所以減去 最后加上a[i][j]即可完成目標 s[i][j]s[i-1][j]s[i][j-1]-s[i-1][j-1]a[i][j]; 然后看題目要求 要求x1,y1,x2,y2圍成的小正方形內的元素和…