圖論基礎概念(詳細講解)

今天,我們講解一下圖論的概念,首先我們知道圖是一個什么東西。

圖你可以理解成一個網絡系統,兩個節點之間可能會有邊,邊鏈接兩個節點,可能是有向(就比如說a只能往b,或者b只能往c),可能是無向(就是相當于沒有方向,如果a和b有一條無向邊的話,a可以往b,b可以往a),一條邊可能有長度,我寫一些圖論題目常見的用詞:
1.有向邊:上面說了,他是有方向的,比如說a到b的有向邊不能由b到a

2.無向邊:上面說了,就是只要連上了兩個都能到達

3.邊權:代表邊的長度,有些圖可能不需要考慮邊長,比如說判斷兩點是否可達這種問題是沒有邊權的。

4.反向邊:只對有向邊有效,比如說a->b,他的反向邊就是b->a

5.重邊:出現了兩條一模一樣的邊,可能會影響后面的算法,所以說要注意(不過一般來講,基礎題是保證了沒有重邊,不過仍然需要注意)

6.自環:自己向自己連一條邊,這種情況和重邊一樣的,也會影響算法,甚至可能讓一些算法卡住。

7.鏈:對于任意一個節點,他們當中沒有分叉,比如說這種:1->2,2->3這種,就有點像一條直線。這種數據可能需要小心,因為有些算法會在鏈上退化(比如說像BST(二叉搜索樹)),不過有時候騙分的時候也可以特判鏈的情況。

8 .環:相當于把鏈的首尾相接,有時候環也會卡住。

9.樹:這種數據比較友好,一些圖的算法不會在上面退化,反倒還容易騙分一些,定義是:由n個節點和n-1條組成的無向無環圖。

10.菊花圖:就是所有點都連到了一個點,形成了一朵"菊花",有些算法會在上面退化,比如說spfa算法的O(km)會在菊花圖的情況下變成O(nm)(這里一定要注意這種情況,以前NOI曾經有人寫了spfa被菊花圖卡了)

11.蒲公英圖:菊花圖和鏈組成起來,也會讓一些算法退化。

12.負權/負權邊:意思說一條邊的權值為負數,這回讓一些算法出問題(例如dijkstra最短路),這種時候必須要spfa算法了(當然不止這些,還有一些其他的算法也會在負權邊上出問題)。

13.負權回路/負環:相當于一個環里所有數為負數,為讓最短路算法卡進去(包括spfa),遇到負環可能需要用spfa判斷負環.

14.正權回路/正環:根負環一樣的,只不過是正數,這也會讓求最長路時出問題

15.連通圖:圖是聯通的,對于任意兩點,他們都有一條路徑。

16.點權:有一些題目,他不是邊有長度,而是經過一個點有點權(比如說我經過一個點需要支付多少錢啊這種的),一般來講,樹形dp一般是沒有邊權而是點權。

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

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

相關文章

Vulnhub靶場 | DC系列 - DC1

https://www.vulnhub.com/series/dc,199/ 環境搭建 靶機鏡像下載地址:https://www.vulnhub.com/entry/dc-1,292/;需要將靶機和 kali 攻擊機放在同一個局域網里;本實驗kali 的 IP 地址:192.168.10.146。 滲透測試 1. 信息收集 …

CH16-DOM元素增刪改

CH16-DOM元素增刪改 本章目標 掌握如何使用DOM獲取節點時使用的屬性熟練使用DOM節點進行創建、添加、刪除、替換 一、使用DOM獲取節點時使用的屬性 1.1 首尾子節點 firstChild:獲取當前節點的首個子節點,注意:換行符、空格等也是節點。 …

【逆向】-異或-分組異或2

IDA查看源代碼 src長度32,encrypt函數加密,工4個參數,_FFFC雙擊,可以看到是個長度為7的固定值FnTest! 加密函數將4個參數又重新命名,混淆視聽,但是還是可以看到是嵌套循環,動態調試直接看結果可…

ArcGIS Pro SDK (八)地理數據庫 8 拓撲

ArcGIS Pro SDK (八)地理數據庫 8 拓撲 文章目錄 ArcGIS Pro SDK (八)地理數據庫 8 拓撲1 開放拓撲和進程定義2 獲取拓撲規則3 驗證拓撲4 獲取拓撲錯誤5 標記和不標記為錯誤6 探索拓撲圖7 找到最近的元素 環境:Visual …

C++11中重要的新特性之 lambda表達式 Part two

序言 在上一篇文章中,我們主要介紹了 C11 中的新增的關鍵詞,以及 范圍for循環 這類語法糖的使用和背后的邏輯。在這篇文章中我們會繼續介紹一個特別重要的新特性分別是 lambda表達式 。 1. lambda表達式 1.1 lambda的定義 C11 中的 lambda表達式 是一種…

昇思25天學習打卡營第19天 | ResNet50遷移學習再續

訓練模型部分代碼解析 構建Resnet50網絡 兩行初始化代碼 weight_init Normal(mean0, sigma0.02)這行代碼定義了一個初始化器weight_init,它將使用均值為0,標準差為0.02的正態分布來初始化網絡中的權重。這種初始化策略有助于在網絡的初始階段避免梯度…

Java基礎之集合

集合和數組的類比 數組: 長度固定可以存基本數據類型和引用數據類型 集合: 長度可變只能存引用數據類型存儲基本數據類型要把他轉化為對應的包裝類 ArrayList集合 ArrayList成員方法 添加元素 刪除元素 索引刪除 查詢 遍歷數組

day30【LeetCode力扣】18.四數之和

day30【LeetCode力扣】18.四數之和 1.題目描述 給你一個由 n 個整數組成的數組 nums ,和一個目標值 target 。請你找出并返回滿足下述全部條件且不重復的四元組 [nums[a], nums[b], nums[c], nums[d]] (若兩個四元組元素一一對應,則認為兩個…

Linux: Mysql環境安裝

Mysql環境安裝(Centos) 前言一、卸載多余環境1.1 卸載mariadb1.2 查看并卸載系統mysql和mariadb安裝包 二、換取mysql官方yum源三、安裝并啟動mysql服務3.1 yum源加載3.2 安裝yum源3.3 安裝mysql服務3.3.1 安裝指令3.3.2 GPG密鑰問題解決方法3.3.3 查看是…

循環結構(一)——for語句【互三互三】

文章目錄 🍁 引言 🍁 一、語句格式 🍁 二、語句執行過程 🍁 三、語句格式舉例 🍁四、例題 👉【例1】 🚀示例代碼: 👉【例2】 【方法1】 🚀示例代碼: 【方法2】…

【C++ 編程】引用 - 給變量起別名、淺復制

基本語法:數據類型 &別名 原名int a 10; int &b a;引用必須初始化 (? int &b;),初始化后不可改變 (int c 5; b c:b 沒有變成c的別名,而是 a、b 對應的值變更為了 c 的值)本質是指針常量, 淺復制 【黑馬程序員匠…

Cartographer重入門到精通(二):運行作者demo及自己的數據集

在demo數據包上運行cartographer 現在Cartographer和Cartographer的Ros包已經都安裝好了,你可以下載官方的數據集到指定的目錄(比如在Deutsches Museum用背包采集的2D和3D 數據),然后使用roslauch來啟動demo。 注:la…

IO半虛擬化-Virtio學習筆記

參考:《深入淺出DPDK》及大佬們的各種博客 Virtio簡介&運行環境 Virtio 是一種用于虛擬化環境中的半虛擬化 I/O 框架,目的是在虛擬機和主機之間提供一種高效的 I/O 機制。關于什么是半虛擬化和全虛擬化:見SR-IOV學習筆記。 YES&#xf…

PDMS二次開發(二十二)——關于1.0.3.1版本升級內容的說明

目錄 1.更新內容介紹2.效果演示3.關于重構自動添加焊口功能的說明3.1錯誤示例 3.問題交流1.創建焊口提示失敗2.程序崩潰 1.更新內容介紹 在添加焊口之前先清除當前branch已有焊口;顯示清除焊口的個數和添加焊口的個數;重構了自動添加焊口功能&#xff0…

值得關注的數據資產入表

不錯的講解視頻,來自:第122期-杜海博士-《數據資源入表及數據資產化》-大數據百家講壇-廈門大學數據庫實驗室主辦第122期-杜海博士-《數據資源入表及數據資產化》-大數據百家講壇-廈門大學數據庫實驗室主辦-20240708_嗶哩嗶哩_bilibili

《A++ 敏捷開發》- 10 二八原則

團隊成員協作,利用項目數據,分析根本原因,制定糾正措施,并立馬嘗試,判斷是否有效,是改善的“基本功”。10-12章會探索里面的注意事項,13章會看兩家公司的實施情況和常見問題。 如果已經獲得高層…

Linq的常用方法

LINQ(Language Integrated Query)是.NET Framework中用于數據查詢的組件,它將查詢功能集成到C#等.NET語言中。LINQ提供了豐富的查詢操作符,這些操作符可以應用于各種數據源,如內存中的集合、數據庫、XML等。以下是一些…

java中的String 以及其方法(超詳細!!!)

文章目錄 一、String類型是什么String不可變的原因(經典面試題)String不可變的好處 二、String的常用構造形式1.使用常量串構造2.使用newString對象構造3.字符串數組構造 三、常用方法1. length() 獲取字符串的長度2. charAt() 獲取字符串中指定字符的值 (代碼單元)3. codePoin…

水的幾個科學問題及引發的思考

水的幾個科學問題及引發的思考 兩個相同的容器A和B,分別裝有同質量的水,然后,在A容器中加入水,在B容器中加入冰,如果加入水和冰的質量相同。問,容器B的水位將與容器A的水位相同嗎(假設冰未融化時…

Log4j的原理及應用詳解(二)

本系列文章簡介: 在軟件開發的廣闊領域中,日志記錄是一項至關重要的活動。它不僅幫助開發者追蹤程序的執行流程,還在問題排查、性能監控以及用戶行為分析等方面發揮著不可替代的作用。隨著軟件系統的日益復雜,對日志管理的需求也日…