gpt4 book ai didi

julia - 在 Julia 中定义非常稀疏的网络矩阵的最有效方法是什么?

转载 作者:行者123 更新时间:2023-12-04 14:24:28 25 4
gpt4 key购买 nike

我有一个非常大的网络的数据,它非常稀疏。我想知道什么是最有效的存储方式并且最容易访问两个节点是否连接。

显然,对于 N 个节点,保持 N*N 矩阵在我存储的空间方面效率不高。所以我想可能会保留如下邻接列表:

Array(Vector{Int64}, N_tmp)

其中 N_tmp <= N,因为许多节点可能没有任何连接。

你能帮我看看是否有更好的方法或者包在内存和访问方面更好吗?

最佳答案

LightGraphs.jl ,我们使用邻接表(基本上是一个向量的向量)来存储每个节点的邻居。这为大型稀疏图提供了非常好的内存利用率,使我们能够在商品硬件上扩展到数亿个节点,同时为大多数图操作提供优于原生稀疏矩阵数据结构的快速访问。

您可能会考虑 LightGraphs 是否会直接满足您的需求。

使用附加信息进行编辑:我们存储一个排序的邻居列表 - 这使我们在创建边缘时性能受到影响,但可以更快地进行后续查找。

关于julia - 在 Julia 中定义非常稀疏的网络矩阵的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40289175/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com