我正準備進行編碼訪問,並在圖形上刷新了我的想法。我想知道以下幾點:在我見過的所有地方,都假定鄰接表比鄰接矩陣更適合大型稀疏圖,因此在這種情況下應該是首選。另外,計算一個節點的輸出邊的數量需要一個矩陣中的O(N),而列表中的O(1)以及列表中的O(N個相鄰節點)中的相鄰節點,而不是O(N)爲矩陣。
這些地方包括Cormen等人的書或StackOverFlow:Size of a graph using adjacency list versus adjacency matrix?或維基百科。然而,像使用壓縮行存儲表示一樣使用稀疏矩陣表示,內存需求恰好在O(非零數)= O(邊數)上,這與使用列表相同。一個節點的輸出邊的數量爲O(1)(它直接存儲在CRS中),並且相鄰節點可以列在O(num個相鄰節點)中。
爲什麼不討論?我是否應該假定CSR 是一種由矩陣表示的圖的鄰接表表示?或者說,矩陣由於不考慮稀疏矩陣表示而導致內存密集性存在缺陷?圖表示法:鄰接列表與矩陣
謝謝!