無向圖

  • 圖的表示方法:鄰接表
  • dfs和bfs的區(qū)別:dfs是用棧,bfs用隊列
//連通圖
public class CC {
    private boolean[] marked;
    private int[] id;
    private int count;

    public CC(Graph G) {
        marked = new boolean[G.V()];
        id = new int[G.V()];
        for (int s = 0; s < G.V(); s++) {
            dfs(G, s);
            count++;
        }
    }

    private void dfs(Graph G, int v) {
        marked[v] = true;
        id[v] = count;
        for (int w : G.adj(v))
            if (!marked[w])
                dfs(G, w);

    }
}

有向圖

  • 有向無環(huán)圖(DAG): 不含有向環(huán)的有向圖

  • 當且僅當一副有向圖是無環(huán)圖時它才能進行拓撲排序

  • 有向圖中基于dfs的頂點排序:前序括勺、后續(xù)盈匾、逆后續(xù)
    前序和后續(xù)用隊列己英,逆后續(xù)用棧

  • 一副有向無環(huán)圖的拓撲排序就是所有頂點的逆后續(xù)排列(要先判斷有沒有環(huán))

  • 強連通 :兩個頂點互聯(lián)可達曲梗,則這兩個頂點是強連通肉迫。若一個圖任意兩頂點都是強連通苟穆,則這幅有向圖也是強連通的抄课。

  • 計算強連通分量的Kosaraju算法:先使用dfs查找G的反向圖唱星,得到所有頂點的逆后續(xù),再用dfs處理跟磨,即可得到強連通分量

//強連通分量
public class KosarajuSCC {
    private boolean[] marked;
    private int[] id;
    private int count;

    public KosarajuSCC(Digraph G) {
        marked = new boolean[G.V()];
        id = new int[G.V()];
        DepthFirstOrder order=new DepthFirstOrder(G.reverse());
        for (int s:order.reversePost()) {
            dfs(G, s);
            count++;
        }
    }

    private void dfs(Digraph G, int v) {
        marked[v] = true;
        id[v] = count;
        for (int w : G.adj(v))
            if (!marked[w])
                dfs(G, w);
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末间聊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抵拘,更是在濱河造成了極大的恐慌哎榴,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件僵蛛,死亡現(xiàn)場離奇詭異尚蝌,居然都是意外死亡,警方通過查閱死者的電腦和手機充尉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門飘言,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人喉酌,你說我怎么就攤上這事热凹。” “怎么了泪电?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵般妙,是天一觀的道長。 經(jīng)常有香客問我相速,道長碟渺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任突诬,我火速辦了婚禮苫拍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旺隙。我一直安慰自己绒极,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布蔬捷。 她就那樣靜靜地躺著垄提,像睡著了一般。 火紅的嫁衣襯著肌膚如雪周拐。 梳的紋絲不亂的頭發(fā)上铡俐,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天,我揣著相機與錄音妥粟,去河邊找鬼审丘。 笑死,一個胖子當著我的面吹牛勾给,可吹牛的內(nèi)容都是我干的滩报。 我是一名探鬼主播锅知,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼露泊!你這毒婦竟也來了喉镰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤惭笑,失蹤者是張志新(化名)和其女友劉穎侣姆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沉噩,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡捺宗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了川蒙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚜厉。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖畜眨,靈堂內(nèi)的尸體忽然破棺而出昼牛,到底是詐尸還是另有隱情,我是刑警寧澤康聂,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布贰健,位于F島的核電站,受9級特大地震影響恬汁,放射性物質(zhì)發(fā)生泄漏伶椿。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一氓侧、第九天 我趴在偏房一處隱蔽的房頂上張望脊另。 院中可真熱鬧,春花似錦约巷、人聲如沸偎痛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽看彼。三九已至,卻和暖如春囚聚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背标锄。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工顽铸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人料皇。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓谓松,卻偏偏與公主長得像星压,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子鬼譬,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容