【问题标题】:What's the difference between vertex descriptor and index in Boost Graph Library?Boost Graph Library中的顶点描述符和索引有什么区别?
【发布时间】:2016-04-07 16:55:22
【问题描述】:

在Boost图形库中,什么时候应该使用顶点描述符,什么时候应该使用index?既然vertex_descriptor的实现其实是无符号整数,那么两者的值是一样的吗?

【问题讨论】:

    标签: c++ boost boost-graph


    【解决方案1】:

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

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

    有关不同的 EdgeListVertexList 数据类型及其优缺点的详细信息,请参阅 Using Adjacency List 页面。

    【讨论】:

      猜你喜欢
      • 2013-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 2014-11-07
      • 1970-01-01
      • 2014-08-14
      相关资源
      最近更新 更多