我正在使用包numpy和网络在python中创建网络。
事实:
创建此图大约需要一个小时
表格可adjacency
容纳212,000行
由于我是python的新手,所以我没有解释器执行多少优化(如果有的话)。无论如何,我认为错误在于实际在该行中创建图形:
g = nx.from_numpy_matrix(mat, create_using=nx.DiGraph())
我相信这是因为:
我已经在没有该行的情况下运行了代码,而且速度非常快(最多10秒)
我认为写作mat
是O(nlgn),因为我们有n行,从数据库中读取(btree搜索)是O(lgn),写作mat
是O(1)。
我只是以为读取邻接矩阵需要O(n ^ 2)的时间。也许邻接表(在中作为dict的一个字典实现networkx
)会更快。在那种情况下,没有人知道networkx中的加权图和邻接表吗?
如果您需要更多信息,请与我联系,我们将不胜感激! 注意:为了将来:我怎么知道一个小时是否合理?
POPMUISE
相关分类