【发布时间】:2015-02-25 22:14:10
【问题描述】:
图中怎么没有同时移除多个顶点的例程呢?如果顶点为vecS,则只有 remove_vertex() 非常昂贵。
在 boost/graph/detail/adjacency_list.hpp remove_vertex_dispatch()starting line # 1966 例程中,它擦除给定节点,然后重新索引边缘。是否可以添加另一个例程,例如,要删除顶点的索引并一次性删除它们(如何?可以讨论)并且重新索引只发生一次?
我知道使用 listS 会使其时间恒定,但并非所有算法都适用于 listS,所以这是不可能的。
【问题讨论】: