亲爱的,这很容易,我希望!

我有一个图,我想静态分配。我知道我将有N节点,并且每个节点最多有 K << N边缘(例如N = 1,000,000K = 3),还有。如果我不仅可以初始化具有一定数量节点的图形,而且还可以初始化具有预定义数量的边的图形,将会很方便。

你知道这有可能吗?

如果不是,您是否建议放弃邻接表的邻接表?我将拥有大量的边缘,这就是为什么静态分配会很棒的原因。

干杯!

最佳答案

Boost.Graph具有Compressed Sparse Row Graph,它可以完成您所需的操作。这对内存非常友好。与其他Boost图一样,您可以将其声明为有向,无向等,并将属性与其元素相关联。

需要注意的是,该图是不可变的,这意味着您可以创建和填充它,但以后不能更新。
生成图形时,需要准备好所有边缘。看到类似的主题here

关于c++ - 静态分配 boost 图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19858111/

10-11 23:04
查看更多