首页 文章

提升图库内存消耗大图

提问于
浏览
3

我有一个大图(30k顶点,250米边)和使用增强图库邻接列表(我试过vecs和列表)消耗超过25GB . 因为获得超过16GB RAM的电脑并不容易,你建议减少内存使用量是多少?

1 回答

  • 3

    使用我正在研究的图表的验证技术我遇到了同样的问题 . 如果您将处理大量数据(顶点和边缘),则应使用自己创建的精细调整数据结构 .

    如果你有很多边缘,你应该考虑使用Adjacency Matrix . 边缘有权重,所以你可以使用这样的东西:

    vector<int> vertices;
    vector<vector<int> > edges;
    

    如果边没有属性,则可以使用仅使用一位表示每条边的优化 vector<vector<bool> > .

    虽然当您想要检查边缘或添加边缘时,邻接矩阵很快,但迭代边缘并不好 .

    我可以说,在BGL和我自己的图中使用相同的属性,我的图形更小 .

相关问题