iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0

遞迴是大事化小,要記得小事化無
by 吳邦一 AP325

糖 + 香料 + 美好事物(圖論 and 遞迴) = 超多演算法

遞迴說到底其實只是實現演算法的「技術」、而非「理論」。

如同昨天說的,它只是一種讓我們能比較方便、直觀的實作演算法的工具。

而圖論是組合數學的一個分支,主要在利用一種被稱為「圖」的關係結構來分析事物之間的關聯,使現實世界中許多複雜的狀況都可以被簡化、抽象分析,因此在電腦科學中廣泛被應用。

來自 圖論 維基百科

圖論基本概念

圖論中所研究的「圖」,並非指圖片或是圖形,而是一種表達事物之間關連性的「點 + 邊」的結構。

假設一個國家有 6 座城市,分別叫 1 ~ 6,則上圖可以代表該國家的城市之間的交通路線;或假設班上有 6 名同學,他們分別為 1 ~ 6,則上圖也可以表示同學之間的交友關係。

常見名詞定義

  • 圖(Graph)https://chart.googleapis.com/chart?cht=tx&chl=G 通常包含點(Vertex) https://chart.googleapis.com/chart?cht=tx&chl=V 跟邊(Edge)https://chart.googleapis.com/chart?cht=tx&chl=E 。對於一條邊,一般來說會表示成 https://chart.googleapis.com/chart?cht=tx&chl=e%3D%28u%2C%20v%29%2C%20u%2C%20v%5Cin%20V
  • 有向圖(Directed Graph):邊有方向性,即 https://chart.googleapis.com/chart?cht=tx&chl=%28u%2C%20v%29%20%5Cneq%20%28v%2C%20u%29
  • 無向圖(Undirected Graph):邊沒有方向性,即 https://chart.googleapis.com/chart?cht=tx&chl=%28u%2C%20v%29%20%3D%20%28v%2C%20u%29
  • 加權圖(Weighted Graph):每條邊都有一個數值(權重)與之相關聯
  • 子圖(Subgraph):由原圖中的一部分點和邊組成的圖

圖的表示方式

  • 鄰接矩陣(Adjacency Matrix):一個 https://chart.googleapis.com/chart?cht=tx&chl=n%20%5Ctimes%20n 的矩陣,其中 https://chart.googleapis.com/chart?cht=tx&chl=n 是點的數量。矩陣的 https://chart.googleapis.com/chart?cht=tx&chl=%28i%2C%20j%29 項表示點 https://chart.googleapis.com/chart?cht=tx&chl=i 和點 https://chart.googleapis.com/chart?cht=tx&chl=j 之間是否有邊。
  • 鄰接表(Adjacency List):一個陣列或列表,每個元素都是一個列表,表示與該點相連的其他點

上一篇
Day 16 遞獄樂 其一
下一篇
Day 18 無謀的貪心 其一
系列文
CS補完計畫—演算法與資料結構的第三次衝擊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言