什么数据结构被用来在networkX中存储图形?

问题描述:

我使用networkX进行社交图分析。我想知道这个库如何实现这样的性能。 是否使用相邻列表或矩阵来存储图形或使用图形数据库如neo4j来存储图形? 由于什么数据结构被用来在networkX中存储图形?

http://networkx.github.io/documentation/networkx-1.9.1/reference/introduction.html

该图的内部数据结构是基于邻接表表示和使用Python字典的数据结构来实现。图相邻结构是作为一个Python字典的字典实现的;外部字典由节点键值为其本身由相邻节点以与该边缘相关联的边缘属性为键值的字典的值。这个“字典”结构允许在大图中快速添加,删除和查找节点和邻居。基础数据结构直接由类定义中的方法(编程接口“API”)访问。另一方面,所有功能仅通过API方法操纵类图对象,而不是直接操作数据结构。这种设计允许用实现相同方法的替代数据结构来替代基于“字典的数位结构”的数据结构。