使用numpy表示结构未知的(可能是大)图的有效方法?

问题描述 投票:0回答:1

我的设置基本上是以下内容:

  • 我有一组节点(用整数0, ...表示)。可能有几百万。
  • 这些节点在没有权重的无向图中连接。

  • 图的结构是未知的,稀疏图和稠密图都是可能的,尽管具有数百万个节点的稠密图是不可能的。

  • 我想尽可能多地使用numpy,以确保与项目其他部分的兼容性。我希望我可以将图上的所有操作实现为numpy ufuncs。

问题是:在图形上进行操作时,经常会搜索边缘以及创建和删除边缘。我的想法是使用排序的邻接表,但是我不确定如何使用numpy数组有效地实现它。

是否有一种仅使用numpy数组来实现它的有效方法,还是我不得不使用其他一些数据结构?

python numpy graph
1个回答
0
投票

scipy.sparse.csgraph看起来非常适合您的需求。尽管其名称可以使用稀疏矩阵或密集矩阵EDIT,但“ use”在此处似乎表示“可以转换”,在内部它似乎使用csr格式。 EDIT结束可能不是最理想的是它似乎没有为未加权图提供额外的类。

© www.soinside.com 2019 - 2024. All rights reserved.