需要网络图的最佳数据结构

时间:2019-01-17 00:48:57

标签: c# performance memory data-structures network-analysis

我计划实现一些与社交网络有关的算法。

算法包括重要性的度量和社区检测。

例如,“介于两者之间”,“紧密度”,“权限”得分和“页面排名”。另外,一些用于社区检测的算法。

由于数据太大,包括超过100000个节点和超过200000个边缘,就c#内存问题而言,我想应用有效的数据结构。

当前,我正在使用锯齿状数组int [] []作为邻接矩阵存储,其中0表示未连接,x!= 0表示这两个节点已连接,边的权重为x。

但是,它的性能太差,太慢。

问题:有人可以给我建议哪种数据结构比C#中的锯齿数组int [] []好吗?

1 个答案:

答案 0 :(得分:0)

我不确定c#,但是我们可以使用联合查找数据结构在C ++或JAVA中执行相同的操作。通过优化的Api实施,它表现良好。如果可以轻松地在Google上找到关于网络项目的联合查找算法概念的相同内容。我们还可以使用列表,树以及具有用户定义数据类型的图来实现。

谢谢, 拉姆