1
我使用networkX進行社交圖分析。我想知道這個庫如何實現這樣的性能。 是否使用相鄰列表或矩陣來存儲圖形或使用圖形數據庫如neo4j來存儲圖形? 由於什麼數據結構被用來在networkX中存儲圖形?
我使用networkX進行社交圖分析。我想知道這個庫如何實現這樣的性能。 是否使用相鄰列表或矩陣來存儲圖形或使用圖形數據庫如neo4j來存儲圖形? 由於什麼數據結構被用來在networkX中存儲圖形?
從 http://networkx.github.io/documentation/networkx-1.9.1/reference/introduction.html
該圖的內部數據結構是基於鄰接表表示和使用Python字典的數據結構來實現。圖相鄰結構是作爲一個Python字典的字典實現的;外部字典由節點鍵值爲其本身由相鄰節點以與該邊緣相關聯的邊緣屬性爲鍵值的字典的值。這個「字典」結構允許在大圖中快速添加,刪除和查找節點和鄰居。基礎數據結構直接由類定義中的方法(編程接口「API」)訪問。另一方面,所有功能僅通過API方法操縱類圖對象,而不是直接操作數據結構。這種設計允許用實現相同方法的替代數據結構來替代基於「字典的數位結構」的數據結構。