當前位置:首頁 » 存儲配置 » 圖的鄰接表存儲

圖的鄰接表存儲

發布時間: 2024-11-17 06:35:43

❶ 鄰接表存儲時,空間復雜度O( n+e),還是O(n)

O(n+e),取n次最小權,每次取完會進行n次更新。如果能達到o(n+e),就不需要O(n)。

在有向圖中,描述每個點向別的節點連的邊(點a->點b這種情況)。在無向圖中,描述每個點所有的邊。與鄰接表相對應的存圖方式叫做邊集表,這種方法用一個容器存儲所有的邊。

對於有向圖,vi的鄰接表中每個表結點都對應於以vi為始點射出的一條邊。因此,將有向圖的鄰接表稱為出邊表。



(1)圖的鄰接表存儲擴展閱讀:

n個頂點e條邊的有向圖,它的鄰接表表示中有n個頂點表結點和e個邊表結點。(因為有向圖是單向的)

在有向圖中,為圖中每個頂點vi建立一個入邊表的方法稱逆鄰接表表示法。入邊表中的每個表結點均對應一條以vi為終點(即射入vi)的邊。

n個頂點e條邊的有向圖,它的逆鄰接表表示中有n個頂點表結點和e個邊表結點。

❷ 用鄰接表存儲圖所用的空間大小與什麼有關

用鄰接表存儲圖所用的空間大小與圖的頂點數和邊數有關。有一個圖有n個頂點和e條邊,則在對應的鄰接表中,表頭向量大小等於頂點數。此圖是無向圖,則每條邊在鄰接表中出現兩次,即需要2e個存儲單元。此圖是有向圖,則每條邊只在鄰接表中出現一次,即需要P個存儲單元。由此可知用鄰接表存儲圖所用的空間大小與圖的頂點數和邊數都有關系。

❸ 稀疏圖為什麼用鄰接表存儲而不用鄰接矩陣我知道是空間效率問題,怎麼個說啊謝謝大神!

既然是稀疏圖 那麼每個節點的鄰居節點數目肯定少咯 當然用鄰接表(N個節點,用N*m個位置,m為每個節點的平均鄰居數目)
要是用鄰接矩陣的話 每個節點都要給鄰居空N-1個位置(N個節點,需要N*N個位置)
當m遠小於N時(稀疏圖就符合這種情況),當然鄰接表省空間。

熱點內容
java抽象實例化 發布:2024-11-17 08:43:16 瀏覽:384
matlab編譯工具箱 發布:2024-11-17 08:22:44 瀏覽:31
eda編譯和綜合區別 發布:2024-11-17 08:12:30 瀏覽:994
ftp伺服器前端怎麼用 發布:2024-11-17 08:12:30 瀏覽:67
基金怎麼配置才合適 發布:2024-11-17 07:59:53 瀏覽:787
linux下編譯cpp 發布:2024-11-17 07:59:18 瀏覽:645
javaweb資料庫 發布:2024-11-17 07:59:18 瀏覽:910
hadoop在win10上編譯 發布:2024-11-17 07:47:35 瀏覽:292
c安全編程 發布:2024-11-17 07:44:05 瀏覽:817
演算法上中位 發布:2024-11-17 07:39:05 瀏覽:979