圖的三種存儲結構


1.鄰接矩陣——表示頂點間相連關系的矩陣

設圖G有n (n\geq1) 個頂點,則鄰接矩陣是一個n階方陣。
當矩陣中的 [i,j] !=0(下標從1開始) ,代表其對應的第i個頂點與第j個頂點是連接的。

特點:
  • 無向圖的鄰接矩陣是對稱矩陣,n個頂點的無向圖需要n*(n+1)/2個空間大小
  • 有向圖的鄰接矩陣不一定對稱,n個頂點的有向圖需要n²的存儲空間
  • 無向圖中第i行的非零元素的個數為頂點Vi的度
  • 有向圖中第i行的非零元素的個數為頂點 Vi 的出度,第i列的非零元素的個數為頂點 Vi 的入度
     
     

     
     

2.鄰接表

為圖G中的每一個頂點建立一個單鏈表,每條鏈表的結點元素為與該頂點連接的頂點。

特點
  • 無向圖頂點 Vi 的度為第 i 個單鏈表中的結點數
  • 無向圖中
    頂點 Vi 的出度為第 i 個單鏈表中的結點個數
    頂點 Vi 的入度為全部單鏈表中連接點域值是 i 的結點個數
  • 逆鄰接表:有向圖中對每個結點建立以 Vi 為頭的弧的單鏈表
     
     

     
     

鄰接表與鄰接矩陣的比較:

 
 

3.十字鏈表——適合有向圖

可以看成是有向圖的鄰接表和逆鄰接表結合起來的一種鏈表。


 
 

 
 

 


作者:See是一個名字
鏈接:https://www.jianshu.com/p/f17fabd0ee40
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM