图存储之十字链表
一 概述
十字鏈表是有向圖的一種鏈?zhǔn)酱鎯Y(jié)構(gòu),在十字鏈表中,對應(yīng)于有向圖中的每條弧有一個結(jié)點,對應(yīng)于每個頂點也有一個結(jié)點。
二 十字鏈表
十字鏈表的結(jié)構(gòu)分為弧結(jié)點和頂點結(jié)點,其中弧結(jié)點中有5個域,頂點結(jié)點有3個域。
弧結(jié)點的5個域:尾域和頭域分別指示弧尾和弧頭這兩個頂點在圖中的位置;鏈域hlink指向弧頭相同的下一條弧;鏈域tlink指向弧尾相同的下一個條弧;info域指向該弧的相關(guān)信息。這樣,弧頭相同的弧在同一個鏈表上,弧尾相同的弧也在同一個鏈表上。
頂點結(jié)點中有3個域:data域存頂點相關(guān)的數(shù)據(jù)信息,如頂點名稱;firstin和firstout兩個域分別指向以該頂點為弧頭或弧尾的第一個弧結(jié)點。
有向圖的十字鏈表表示法中,頂點結(jié)點之間是通過順序存儲方式存儲。
在十字鏈表中,既容易找到Vi為尾的弧,又容易找到Vi為頭的弧,因而容易求得頂點的出度和入度,圖的十字鏈表表示不是唯一的,但一個十字鏈表表示確定一個圖。
總結(jié)
- 上一篇: Dev Express Report 学
- 下一篇: hadoop-2.7.2 分布式集群搭建