在我以前的工作场所,我对Boost的图形库有过不同的体验。我不是主要使用该代码的人,但是我们经历了脆弱性,我们脚下的事情发生了变化,并且由于不够好的原因需要反复刷新状态。是的,我知道这听起来有点含糊,但关键是我想看看替代方案。
所以,我正在寻找一个图形库:
- 表示无向图和有向图。
- 完全不依赖于 Boost,或者至少不依赖于 Boost。
- 在图形是静态的(即搜索、查找、使用和不使用过滤器的迭代等)时都表现出良好的性能。
- 在操作图形时表现出良好的性能 - 边和顶点的添加、删除、移动和更新。
- 可以很好地扩展到大型但不一定是备用而不是密集的大型图- 例如,数万个顶点和数十万条边。
- 在非常不均匀的顶点度数上不会犹豫。
- 友好地使用额外的语义来丰富边缘和顶点(是的,再次,这里含糊不清,不预先排除答案)。
- 免费和开源。
- 是用C++11及更高版本编写的……你知道吗?好的,不是一个严格的要求,但我会非常偏向那些。
如果它也可以:
- 可以很好地扩展到巨大的图表。
- 在稀疏图和密集图上表现良好。
- 允许您将其基础表示配置为您的性能目标。
- 不是 malloc() 的事情之一,就像没有明天,让你被困在令人讨厌的指针迷宫中。
- 有一个不那么病毒的许可证。
- 被积极维护。
- 有据可查。
- 被广泛使用。