大話數據結構——圖

圖(Graph)是由定點的又窮非空集合和頂點之間邊的集合組成,通常表示為:G(V,E),其中,G表示一個圖,V是圖G中頂點的集合,E是圖G中邊的集合。

一、各種圖的定義

圖按是否有方向分可分為有向圖和無向圖。有向邊用尖括號“<>”表示,無向邊用小括號“()”表示。
簡單圖:無環無重復邊。我們以下討論的都是簡單圖。
無向完全圖:任意兩個頂點之間都存在邊。
含有n個頂點的無向完全圖有n*(n-1)/2條邊。
有向完全圖:任意兩個頂點之間都存在方向互為相反的兩條弧。
含有n個頂點的有向完全圖有n*(n-1)條邊。
:帶權的圖。
回路或環:第一個頂點到最后一個頂點相同的路徑稱為回路或環。
簡單路徑:序列中頂點不重復出現的路徑。
簡單回路或簡單環:除了第一個頂點和最后一個頂點之外,其余頂點不重復出現的回路。
連通圖:任意兩個頂點之間互通。
連通分量:無向圖中極大連通子圖。(要是子圖、子圖要是連通的、連通子圖含有極大頂點數、具有極大定點數的連通子圖包含依附于這些頂點的所有邊)

二、圖的存儲方式

(一)鄰接矩陣
鄰接矩陣是頂點和邊的二維數組,若頂點間存在邊,則標作1,否則,標作0。
橫著的和是該頂點的度。
鄰接矩陣
(二)鄰接表
數組與鏈表相結合的存儲方法。
鄰接表
但在有向圖中,一般只關注到出度問題,逆連接表關注到的是入度的問題。
(三)十字鏈表
把鄰接表和逆鄰接表結合。
(四)鄰接多重表

三、圖的遍歷

圖的遍歷指的是從圖中某一頂點出發訪遍圖中其余頂點,且使每一個頂點僅被訪問一次。
(一)深度優先遍歷
深度優先遍歷(Depth_First_Search)DFS,顧名思義,就是從一個頂點出發,往最深里找。
廣度優先遍歷(Breath_First_Search)BFS,也就是從一個頂點出發,一層層找。
它們的時間復雜度是一樣的,只是結點訪問的順序不一樣。

四、最小生成樹

最小生成樹:構造連通網的最小代價生成樹。
普里姆算法:從一個點出發,找連通的。
克魯斯卡爾算法:先找最短的邊。

五、最短路徑

迪杰斯特拉算法:從一個頂點出發,逐漸找權最小的。
弗洛伊德算法
如果要求所有點到其他點的最短路徑,選弗洛伊德算法。

六、關鍵路徑

一個個去掉度為0的頂點。

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

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

相關文章

【工作感悟】達內java大數據課程

前言 其實前幾篇文章已經寫了好多有關于Spring源碼的文章&#xff0c;事實上&#xff0c;很多同學雖然一直在跟著閱讀、學習這些Spring的源碼教程&#xff0c;但是一直都很迷茫&#xff0c;這些Spring的源碼學習&#xff0c;似乎只是為了面試吹逼用&#xff0c;我大概問過一些…

大話數據結構——查找

查找&#xff08;Searching&#xff09;是根據給定的某個值&#xff0c;在查找表中確定一個其關鍵字等于給定值的數據元素&#xff08;或記錄&#xff09;。 一、順序表查找 順序查找又叫線性查找&#xff0c;是最基本的查找技術&#xff0c;它的查找過程是&#xff1a;從表中…

【工作經驗分享】java圖片轉文字

前言 又到一年金九銀十之際。 Java作為目前用戶最多&#xff0c;使用范圍最廣的軟件開發技術之一。 Java的技術體系主要由支撐Java程序運行的虛擬機&#xff0c;提供各開發領域接口支持的Java,Java編程語言及許多第三方Jvav框架構成。 其中&#xff0c;以Java的虛擬器為今天的著…

數據挖掘工程師的面試問題與答題思路

一個Java程序可以認為是一系列對象的集合&#xff0c;而這些對象通過調用彼此的方法來協同工作。下面簡要介紹下類、對象、方法和實例變量的概念。 對象&#xff1a;對象是類的一個實例&#xff0c;有狀態和行為。例如&#xff0c;一條狗是一個對象&#xff0c;它的狀態有&…

【干貨】java課程實戰培訓

開頭 消息隊列 RocketMQ 是阿里巴巴集團基于高可用分布式集群技術&#xff0c;自主研發的云正式商用的專業消息中間件&#xff0c;既可為分布式應用系統提供異步解耦和削峰填谷的能力&#xff0c;同時也具備互聯網應用所需的海量消息堆積、高吞吐、可靠重試等特性&#xff0c;…

Java的幾個特點

Java語言是簡單的&#xff1a; Java語言的語法與C語言和C語言很接近&#xff0c;使得大多數程序員很容易學習和使用。另一方面&#xff0c;Java丟棄了C中很少使用的、很難理解的、令人迷惑的那些特性&#xff0c;如操作符重載、多繼承、自動的強制類型轉換。特別地&#xff0c…

【干貨】mysql建表語句注釋

前言 難道程序員的職業生命線是青春飯&#xff1f;答案是的。 35歲考慮轉行&#xff0c;然后35歲又成了一個新人&#xff0c;而外國可以做到60歲&#xff0c;啥也不說了&#xff0c;可能是覺得中年大叔油膩&#xff0c;不及小鮮肉便宜&#xff0c;唉&#xff0c;可嘆市場更新…

軟件測試知識整理

在一個測試計劃匯總能包含哪些內容&#xff1f; 答&#xff1a;在一個測試計劃中可以包含需要測試的產品的特點和主要功能模塊&#xff0c;列出需要測試的功能點&#xff0c;并標明側重點&#xff1b;測試的策略和記錄&#xff08;測試工具的確認&#xff0c;測試用例等文檔模…

【干貨】mysql查詢重復數據sql

前言 本系列的目的是明明白白、徹徹底底的搞定日期/時間處理的幾乎所有case。上篇文章鋪設所有涉及到的概念解釋&#xff0c;例如GMT、UTC、夏令時、時間戳等等&#xff0c;若你還沒看過&#xff0c;不僅強烈建議而是強制建議你前往用花5分鐘看一下&#xff0c;因為日期時間處…

【微信小程序】java最簡單觀察者模式

開頭 對于一個Java程序員而言&#xff0c;能否熟練掌握并發編程是判斷他優秀與否的重要標準之一。因為并發編程是Java語言中最為晦澀的知識點&#xff0c;它涉及操作系統、內存、CPU、編程語言等多方面的基礎能力&#xff0c;更為考驗一個程序員的內功。 那到底應該怎么學習并…

操作系統知識點整理

作業 用戶在一次解題或一個事務處理過程中要求計算機系統所做工作的集合。它包括用戶程序、所需要的數據及控制命令等。作業是由一系列有序的步驟組成的。 進程 一個程序在一個數據集合上的一次運行過程。所以一個程序在不同數據集合上運行&#xff0c;乃至一個程序在同樣數…

【性能優化實戰】java驗證碼識別訓練

前言 今天剛好有空&#xff0c;跟大家聊聊如何學好算法進大廠。 前兩天一個讀者和我說&#xff0c;他堅持刷算法題2個月&#xff0c;薪資翻番去了他夢寐以求的大廠&#xff0c;期間面字節跳動還遇到了原題…其實據我所知目前國內的大廠和一些獨角獸&#xff0c;已經越來越效仿…

計算機網絡知識整理

OSI七層 物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層、應用層。 物理層涉及信道上傳輸的比特流。 數據鏈路層的主要任務是加強物理層傳輸原始比特流的功能&#xff0c;是指對應的網路層顯現為一條無錯線路。發送包把數據封裝在數據幀&#xff0c;按順序傳送出去并處…

吸水間最低動水位標高_體驗長安逸動EV460:再也不用為電動車續駛里程焦慮了...

文| 車突突車圖騰出品&#xff0c;未經許可&#xff0c;謝絕轉載● ● ●人們都在期待碧水藍天&#xff0c;而且越來越多的消費者也開始踐行環保理念&#xff0c;在買車時關注起了純電動汽車。不過遺憾的是&#xff0c;純電動汽車目前還沒能成為主流。一方面&#xff0c;是因為…

java開發工具包jdk包括哪些

害怕干不過SpringBoot&#xff1f;莫慌&#xff0c;我送你套神級pdf文檔 隨著 Spring Boot 使用越來越廣泛&#xff0c;Spring Boot 已經成為 Java 程序員面試的知識點&#xff0c;很多同學對 Spring Boot 理解不是那么深刻&#xff0c;經常就會被幾個連環追問就給干趴下了&am…

微信計步器怎么不計步_難以關閉的微信朋友圈廣告

太難關掉了。”試圖關閉朋友圈廣告的小曾&#xff0c;在對照著騰訊視頻上的一個長達6分鐘的視頻演示之后&#xff0c;通過14次操作才得以關閉。這14步操作具體如下&#xff1a;點擊“我”—點擊“設置”—點擊“關于微信”—點擊“微信隱私保護指引”—下拉兩個屏幕的面積—點擊…

java開發工具有哪些

前言 Netty 是一款基于 Java 的網絡編程框架&#xff0c;能為應用程序管理復雜的網絡編程、多線程處理以及并發。Netty 隱藏了樣板和底層代碼&#xff0c;讓業務邏輯保持分離&#xff0c;更加易于復用。使用 Netty 可以得到一個易于使用的 API&#xff0c;讓開發人員可以專注自…

經典冒泡排序及其優化

經典排序算法 - 冒泡排序Bubble sort 原理是臨近的數字兩兩進行比較,按照從小到大或者從大到小的順序進行交換&#xff0c;這樣一趟過去后&#xff0c;最大或最小的數字被交換到了最后一位&#xff0c;然后再從頭開始進行兩兩比較交換,直到倒數第二位時結束&#xff0c;其余類似…

expdp導出 schema_記錄一則expdp任務異常處理案例

在XTTS遷移測試階段&#xff0c;遇到執行幾個expdp的導出任務&#xff0c;遲遲沒有返回任何信息&#xff0c;對應日志無任何輸出。環境&#xff1a;AIX 6.1 Oracle 10.2.0.4現象&#xff1a;在XTTS遷移測試階段&#xff0c;遇到執行幾個expdp的導出任務&#xff0c;遲遲沒有返…

java開發工具軟件排行榜

前言&#xff1a; 都說學歷是敲門磚&#xff0c;是一點都沒錯&#xff0c;即使是在重技術輕學歷的互聯網企業&#xff0c;面試官對于學歷越高的程序員初印象會更好&#xff0c;面試也會更順利&#xff0c;而大部分專科學歷的程序員&#xff0c;除非有過硬的技術&#xff0c;否…