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

时间:2014-12-07 23:38:14

标签: graph social-networking networkx

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

1 个答案:

答案 0 :(得分:1)

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

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