在C ++中实现和使用节点图的方法?

时间:2010-04-15 19:33:19

标签: c++ boost graph

我正在研究处理社交网络的研究项目。我已经用C ++完成了程序的大部分主干,现在我想实现一种创建节点和连接图的方法,以及一种可视化人与人之间联系的方法。我看了一下Lemon和Boost图库,但想知道哪一个更容易学习和实现,或者我应该只编写自己的代码。

1 个答案:

答案 0 :(得分:4)

如果您使用BGL,那么您还应该能够使用Graph Toolkit for Algorithms and Drawings(GTAD)。 GTAD旨在与BGL兼容,并添加了许多不在BGL中的图算法以及布局算法。

对于可视化,BGL允许您读取和写入一些常见的图形文件类型,例如GraphML和Dot,以便与GraphViz一起使用。

Lemon看起来是一个功能齐全的库,有很多算法。您还可以使用gLemon查看Lemon图表。这个可视化工具看起来很基本,并且最后一次更新是在2008年,不像柠檬,它仍在开发中。

我建议你先弄清楚你想要用你创建的任何图表做什么,比如你需要什么算法(最短路径等),然后从这个方面比较两个库。

另请参阅两者的教程。他们有非常好的文档,可以帮助您确定哪些更容易实现。

除非你真的想了解如何实现某些图形结构和算法的细节,否则我会使用一个库。