1. 程式人生 > >圖的定義&表示方法簡述

圖的定義&表示方法簡述

ont body clas 邊表 表格 鄰接矩陣 存儲 post span

(分為“無向圖”與“有向圖”)

*樹也是特殊的無向圖

由頂點與邊(有長度)組成。

*無向圖可看為“雙向有向圖”。

技術分享圖片

圖的兩種表示方法

1. 鄰接矩陣

技術分享圖片技術分享圖片

規則:若 a 能直接到達 b,則第 a 行 b 列的距離即為所填值。

若不能直接到達,則為 -1 或 +inf。

特別的,自己到自己距離為 0.

*若無向圖,則表格對稱。

(若無特別表明距離,則設為 1 即可。)

2. 鄰接表

鄰接表(鏈式前向星)存儲圖比鄰接矩陣更加高效。
鄰接表由點表(由點構成的表)(上)和邊表(由邊構成的表)(下)組成。
Head數組存儲的是以該點為起點(按照加入時間順序)最後加入的一條邊。
邊表from數組實際操作沒有用處,不過在查錯環節還是有用的。


Next數組是以該邊起始點為起點的上一條邊(按照加入時間順序)

技術分享圖片

圖的定義&表示方法簡述