我计划实现一些与社交网络有关的算法。
算法包括重要性的度量和社区检测。
例如,“介于两者之间”,“紧密度”,“权限”得分和“页面排名”。另外,一些用于社区检测的算法。
由于数据太大,包括超过100000个节点和超过200000个边缘,就c#内存问题而言,我想应用有效的数据结构。
当前,我正在使用锯齿状数组int [] []作为邻接矩阵存储,其中0表示未连接,x!= 0表示这两个节点已连接,边的权重为x。
但是,它的性能太差,太慢。
问题:有人可以给我建议哪种数据结构比C#中的锯齿数组int [] []好吗?
答案 0 :(得分:0)
我不确定c#,但是我们可以使用联合查找数据结构在C ++或JAVA中执行相同的操作。通过优化的Api实施,它表现良好。如果可以轻松地在Google上找到关于网络项目的联合查找算法概念的相同内容。我们还可以使用列表,树以及具有用户定义数据类型的图来实现。
谢谢, 拉姆