7.2 圖的存儲結構

7.2 圖的存儲結構


image.png

古代的劍客們與數組

對手相逢時,無ide

論對手多麼強大,spa

明知不敵,也要亮出本身的劍!blog

01ci

數組表示法it


一、用兩個數組分別存儲數據元素(頂點)的信息和數據元素之間的關係(邊或弧)的信息。class

二、以二維數組表示有n個頂點的圖時,需存放n個頂點信息和n的平方個弧信息的存儲量。List

三、對於有向圖,第i行的元素之和爲頂點vi的出度OD(vi),第j列的元素之和爲頂點vi的入度ID(vi)。im


02鏈表

 鄰接表


一、鄰接表(Adjacency List)是圖的一種鏈式存儲結構。

二、在鄰接表中,對圖中每一個頂點創建一個單鏈表,第i個單鏈表中的結點表示依附於頂點vi的邊。

三、在表頭結點中,除了沒有鏈域(firstarc)指向鏈表中第一個結點以外,還設有存儲頂點vi的名或其餘有關信息的數據域(data)


03

十字鏈表


一、十字鏈表是有向圖的另外一種鏈式存儲結構,能夠當作是將有向圖的鄰接表和逆鄰接表結合起來獲得的一種鏈表。

二、在十字鏈表中,對應於有向圖中每一條弧有一個結點,對應於每一個頂點也有一個結點。

三、在弧結點中有5個域,其中尾域和頭域分別指示弧尾和弧頭這兩個頂點。


04

 鄰接多重表


一、鄰接多重表是無向圖的另外一種鏈式存儲結構。

二、雖然鄰接表是無向圖的一種頗有效的存儲結構,在鄰接表中容易求得頂點和邊的各類信息。可是因爲鄰接表中每一條邊有兩個結點,這給某些圖的操做帶來不便。

三、鄰接多重表的結構和十字鏈表相似。在鄰接多重表中,每一條邊用一個結點表示。


若是您以爲本篇文章對您有做用,請轉發給更多的人,點一下好看就是對小編的最大支持!



有時候,正是那些意想不到之人,成就了無人能成之事。
——圖靈
相關文章
相關標籤/搜索