LEDA图v/s Boost图库

Dil*_*war 4 boost-graph leda

我想要效率,如果效率(= 0.9*速度+0.1*其他)很高,我愿意自己编写代码.如果我要在LEDA图形或Boost图形之间进行选择,我应该选择哪一个?

我的算法非常耗时(有些甚至是非多项式的,在大图上工作).

And*_*yUK 5

Boost通常是一个很好的库,但出于多种原因我不建议使用Boost图.

BGL文档是可执行的,没有易于遵循的用户指南.我发现尝试定义具有与我自己的问题相关的属性的图是非常困难的.

您经常会遇到巨大的编译器错误,这些错误会在模板中的模板中显示模板...几乎不可能看到正在发生的事情.

我发现的唯一解决方案是从Boost Graph附带的一个简单示例开始,并对其进行调整,直到它达到我想要的效果.

由于这些原因,我知道有很多聪明能干的人放弃了Boost Graph.很遗憾因为它下面有非常有效的算法.对我来说,BGL是模板过度使用的教科书示例.Boost Graph是一个很好的想法,完全忽略了这一点:如果无法读取,维护,扩展或调试代码,那么代码就毫无价值.

LEDA/Boost实现还有其他选择. 你可能会比调查这个类似的帖子更糟糕:https: //stackoverflow.com/questions/510758/can-you-suggest-a-good-book-on-graphs-and-graph-algorithms (链接不再有效)


h4c*_*1k3 2

Boost 图算法可以在 LEDA 甚至斯坦福图基础图上工作,但反之则不然。 http://www.boost.org/doc/libs/1_46_1/libs/graph/doc/leda_conversion.html

我建议使用 boost graph,它是最先进的。

麦克风