1. 程式人生 > >有向圖的基本演算法-Java實現

有向圖的基本演算法-Java實現

**有向圖** 有向圖同無向圖的區別為每條邊帶有方向,表明從一個頂點至另一個頂點可達。有向圖的演算法多依賴深度搜索演算法。 本文主要介紹有向圖的基本演算法,涉及圖的表示、可達性、檢測環、圖的遍歷、拓撲排序以及強連通檢測等演算法。 ***1 定義有向圖*** 採用鄰接表結構儲存邊資訊,同時提供reverse介面生成反向圖,倒置每個邊的方向,該介面在後續其他演算法中會用到。 ```java /** * 採用鄰接表表示的有向圖 */ public class DiGraph { private final int V; private int E; private A