C++图常用库boost graph library(二)

上一篇文章主要介绍了bgl的入门知识,主要罗列了bgl的一些基本结构: C++图常用库boost graph library(一)

在这篇博文中,我们将主要了解一下bgl里面graph的类。

Graph类

BGL里面包含两个graph的类:adjacency_list和adjacency_matrix。以adjacency_list为例,一共包含了六个模板参数:EdgeList、VertexList、Directed、VertexProperties、EdgeProperties和GraphProperties.

  1. EdgeList和VertexList指定存储图的类。这两个参数可以使用户选择顾及遍历性能或者插入删除的性能。同时EdgeList还可以选择是否允许多重边。

  2. Directed顾名思义,选择是否是有向图或者无向图。

  3. VertexProperties、EdgeProperties和GraphProperties选择是否有属性附属在点/边/图上。默认都是没有的。但是对于attribute graph,这个需要考虑。