首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >良好的图/复杂网络库

良好的图/复杂网络库
EN

Stack Overflow用户
提问于 2012-03-07 13:55:04
回答 1查看 1.7K关注 0票数 2

我正在寻找更好的推荐图分析库或框架,更好的在C++或java。我找到了一些图库,

https://stackoverflow.com/questions/3010805/scalable-parallel-large-graph-analysis-library

本网页提供了一些可能的解决方案:

·C++ --最可行的解决方案似乎是Boost图库和并行Boost图库。我也在研究MTGL,尽管它更倾向于大规模多线程硬件架构,比如Cray XMT。最后,我在列表中添加了柠檬以供考虑。·C- latter和SNAP (小世界网络分析和分区);后者在SMP系统上使用OpenMP进行并行处理。·Java --我在这里还没有发现任何并行库,但JGraphT和JUNG在非平行空间中可能是领先的竞争者。·Python和NetworkX看起来是最可靠的选项,尽管两者都不是并行的。以前有用于BGL的Python绑定,但现在不支持这些绑定;2005年的最后一个版本现在看起来已经过时了。

但我不知道我应该根据自己的需要使用哪一种:

  1. 良好的数据结构和算法。它可以分析复杂networks.
  2. Scalable:的性质,我可以修改和实现我的算法,

  1. ,分析有百万节点和边的图/网络,
  2. 复杂网络可以自行生成,这样可以节省我寻找真正复杂网络的时间。

分析能力和可伸缩性是我最关心的问题。有没有人有建议。任何建议都会有帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-07 15:03:19

我使用过networkx,它的工作原理和Jung一样完美。如果您的数据在内存中比这两种数据工作得更好,但我所遇到的问题是缺乏持久性(您可以将它们保存到xml文件中,并将其上载/下载到数据库中,但是数据库中的分析不能将图形的大小限制在内存大小上)。

最近,我一直在玩neo4j(和各种加法),它可以解决这个问题。它并不是无限扩展的,但是如果您的数据少于320亿节点,那么它作为存储引擎的速度非常快,您可以使用其他核心(或工作机器)并行地分析图形。关于它们的速度有很多性能文档,但我通常不同意这些类型的测试,因为这不是我的测试用例,所以我建议您下载它(在neo4j.org上免费)并自己判断。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9602790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档