自從我們 Day 10 簡單地說一下圖結構後,就再也沒提到這個詞,我們今天開始就要介紹這個應用非常廣泛的圖 (Graph) 的演算法總覽,後續會接著介紹常見的圖演算法,因為圖是非線性資料結構中最重要的一員,在學術研究與實務應用上都有極高地位,從網路連線、地圖導航、社交網路到金融交易,幾乎都離不開圖的建模與演算法
一個圖 (Graph) 由 頂點 (Vertex) 與 邊 (Edge) 所組成。形式化表示為 $G = (V, E)$:
圖可以依照性質分類:
圖的常見儲存方式主要有兩種:
遍歷是理解圖結構的基礎,常見方法有:
圖 (Graph) 是一種高度抽象且靈活的資料結構,能夠表示複雜的關係網路。掌握圖的基礎表示方法、遍歷演算法,以及常見的圖演算法,能讓我們解決從最短路徑、任務排程到網路流量優化的各種問題
在接下來的篇章中,會針對特定演算法(如 Dijkstra、Kruskal)做更深入的探討,讓大家能在理論與實作上都能熟練掌握