Boost BGL需要一个它自己没有提供的模型?

Boost BGL需要一个它自己没有提供的模型?,boost,Boost,我想使用boost的并行MST算法 该算法接口所需的一个参数是一个图,“必须是顶点列表图和分布式边列表图的模型”。我发现结合了分布式边缘列表图的boost的概念是。然而,在该模型的章节中明确指出 “[…]分布式邻接列表不模拟顶点列表图或边列表图概念[…] (我强调) 在这一点上,我感到困惑。我应该将一个数据结构传递给框架未提供的boost算法的接口?我是否误解了什么 注:我在boost领域是个新手。解决方案似乎是“VertexListAdapter”:boost graph提供了关于概念的通用算

我想使用boost的并行MST算法

该算法接口所需的一个参数是一个图,“必须是顶点列表图分布式边列表图的模型”。我发现结合了分布式边缘列表图的boost的概念是。然而,在该模型的章节中明确指出

“[…]分布式邻接列表不模拟顶点列表图或边列表图概念[…]

(我强调)

在这一点上,我感到困惑。我应该将一个数据结构传递给框架未提供的boost算法的接口?我是否误解了什么


注:我在boost领域是个新手。

解决方案似乎是“VertexListAdapter”:

boost graph提供了关于概念的通用算法,并且历史上包含了很少的图形概念模型。人们通常会在一些现有的数据结构中使用他们可以适应的图形

在这种情况下

在这一点上,我感到困惑。我应该将一个数据结构传递给框架没有提供的boost算法的接口

甚至没有那么奇怪


仅当您需要时才提供

关键的区别在下面突出显示:

分布式顶点列表图是一种顶点分布在多个进程或地址空间中的图。
顶点
num_顶点
函数保留与顶点列表图概念中相同的签名,但只返回顶点的局部集(以及局部集的大小)

换句话说:DVLG实际上只是一个已经发布的VLG

您要做的是使用以下方法“不分发”DVLG:

顶点列表图适配器适用于顶点列表图中分布式顶点列表图的任何模型。在前一种类型的图中,顶点集分布在进程组中,因此没有进程可以访问所有顶点。但是,在后一种类型的图中,每个进程都可以访问图中的每个顶点。这是r需要一些分布式算法,例如最小生成树算法的实现