當前位置:首頁 » 存儲配置 » 鄰接表為啥用邊存儲

鄰接表為啥用邊存儲

發布時間: 2025-05-22 17:14:45

① 在用鄰接表表示圖時,對圖進行深度優先搜索遍歷的演算法的時間復雜度為()

因為當相鄰矩陣的大部分被破壞時,矩陣中的所有元素都需要掃並追蹤到,且元素個數為n^2,自然演算法為O(n^2)。

所以鄰接表只存儲邊或弧,如果掃描鄰接表,當然會得到O(n+e)其中n是頂點的數量,e的邊或弧的數量。

設有n個點,e條邊

鄰接矩陣:矩陣包含n^2個元素,在演算法中共n個頂點,對每個頂點都要遍歷n次,所以時間復雜度為O(n^2)。

鄰接表:包含n個頭結點和e個表結點,演算法中對所有結點都要遍歷一次,所以時間復雜度為O(n+e)順便,對於廣度優先演算法的時間復雜度,也是這樣。

(1)鄰接表為啥用邊存儲擴展閱讀:

鄰接表是圖的最重要的存儲結構之一,描述了圖上的每個點。創建一個容器對於每一個圖的頂點(n頂點n容器)和節點在第i個容器包含所有相鄰頂點的頂點Vi。事實上,我們經常使用的鄰接矩陣是一個鄰接表的邊集不離散化每一個點。

在有向圖中,描述每個點與另一個節點連接的邊(在a點->點B)。

在無向圖中,描述每個點上的所有邊(A點和B點的情況)

鄰接表對應的圖存儲方法稱為邊集表。此方法將所有邊存儲在容器中。

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

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

熱點內容
pythonrst 發布:2025-09-18 19:28:50 瀏覽:404
頁面訪問在線升級 發布:2025-09-18 19:13:46 瀏覽:773
相機存儲滿 發布:2025-09-18 19:12:19 瀏覽:754
如何搭載我的世界伺服器 發布:2025-09-18 19:02:39 瀏覽:426
c語言組框 發布:2025-09-18 19:02:23 瀏覽:942
如何看見真我手機的全部配置 發布:2025-09-18 18:48:10 瀏覽:975
戰地5默認是什麼伺服器 發布:2025-09-18 17:59:32 瀏覽:310
安卓變ios系統主題怎麼弄 發布:2025-09-18 17:54:07 瀏覽:889
linux出口ip 發布:2025-09-18 17:51:57 瀏覽:950
androidbitmap使用 發布:2025-09-18 17:49:20 瀏覽:244