提升图库中的顶点描述符和索引有什么区别?

What's the difference between vertex descriptor and index in Boost Graph Library?

本文关键字:索引 什么 区别 描述 顶点      更新时间:2023-10-16

在Boost图库中,什么时候应该使用顶点描述符,什么时候使用index?既然vertex_descriptor的实现实际上是无符号整数,那么这两个东西有相同的值吗?

当使用向量(或类似向量)作为顶点(即boost::vecS)的基础数据结构时,vertex_descriptor只是一个索引。如果使用不同的底层数据结构,则顶点描述符不一定是索引。例如,如果使用std::list/boost::listS,则列表不使用基于索引的访问方法。相反,每个vertex_descriptor将是指向列表项的指针。

因此,每次要引用图中的顶点时,都应该使用vertex_descriptor。这样,如果以后决定使用不同的数据结构,就不必更改代码。

有关不同EdgeListVertexList数据类型及其优缺点的更多信息,请参阅使用相邻列表页面。