我需要能够在python中处理大型(10 ^ 7个节点)图。对应于每个节点/边缘的数据是最少的,例如,少量的字符串。就内存和速度而言,最有效的方法是什么?
dict的dict更灵活,更易于实现,但是我直观地期望列表列表会更快。list选项还要求我将数据与结构分开,而dict则允许某种排序:
graph[I][J]["Property"]="value"
你有什么建议?
是的,我对效率的含义应该有所了解。在这种特殊情况下,我的意思是随机访问检索。
将数据加载到内存中并不是一个大问题。这是一劳永逸的。耗时的部分是访问节点,因此我可以提取信息并衡量我感兴趣的指标。
我没有考虑过将每个节点都设为一个类(所有节点的属性都相同),但这似乎会增加额外的开销?我希望有人能对他们可以分享的类似案例有一些直接的经验。毕竟,图是CS中最常见的抽象之一。
相关分类