给定一个空的boost :: graph g,我想设置该图中顶点的数量,然后添加一些边。但从文档中,我找不到相关的功能。我找到的所有例子都定义了初始化中顶点的大小(如图g(10)定义了一个包含10个顶点的图)。但是当我定义图形时,我不知道大小。我想先定义一个Graph g,然后再设置大小。设置boost中顶点的数量:图
1
A
回答
1
最简单的方法是对每个你想要的顶点调用boost :: add_vertex(graph)方法。
这里是一个不错的地方开始Using C++ Boost's Graph Library
注意,你没有一个添加的顶点之一。如果你关心的只是边缘,那么add_edge()会为你添加缺失的顶点。
2
你或许可以尝试有点脏伎俩,如:
add_edge(0,4999,g);
remove_edge(0,4999,g);
它利用的add_edge对的adjacency_list的副作用,即事实BGL如果有必要延长顶点的载体。
+0
我试过这个,用'num_vertices(Graph)'进行验证,它起作用! – Wiredchop
相关问题
- 1. 读取增强图(boost :: read_graphviz)其中顶点包含矢量
- 2. Boost图 - 顶点移除后,顶点仍然存在
- 3. 将顶点属性复制/设置为二分图中的相邻顶点
- 4. 设置顶点ID 1.0.0
- 5. GLSL - 设置顶点颜色
- 6. Boost从其创建的矩阵中识别顶点的图形
- 7. OpenGL:如何设置顶点z坐标为正数量?
- 8. 在BOOST图中找到给定2个顶点的多条边
- 9. C中顶点的三角形数量
- 10. 为二部图的一种模式的顶点设置矢量属性
- 11. 图形工具数字中的顶点顶点
- 12. 设置团体指数与IGRAPH Python中的顶点属性
- 13. 如何设置矩形的顶点?
- 14. 批量设置顶部的标题
- 15. 删除多个顶点从一个boost ::的adjacency_list图
- 16. 设置变量的随机点数
- 17. 通过键找到Boost BGL顶点
- 18. 在boost :: graph中,如何给定一个有向邻接图,顶点和出边索引的邻接顶点?
- 19. 使用boost设置gamma_distribution的参数
- 20. 如何设置Boost?
- 21. Boost图库:设置边缘权值
- 22. C++ Boost图库:构建一个在无向图搜索中访问过的顶点向量?
- 23. 设置指数和顶点数组openGL ES
- 24. 如何在折线图中设置相同数量的数据点?
- 25. Jung Java Graph如何在视图顶点设置ID
- 26. 搅拌器波前对象:面部声明中的顶点数量大于所有顶点的数量
- 27. 设置变量为浮点整数值
- 28. 将自定义属性添加到Boost图库中的网格顶点
- 29. 在igraph中设置顶点的相邻边的上限
- 30. 设置地图任务的数量
感谢您的回答。问题是,如果我需要添加5000个顶点,我不想调用5000次add_vertex(),它可能非常慢。 – LittleSweet
决定你可以花多少时间来完成这项任务。写一些测试代码。测量。如果时间太长,那么用一些代码和一些测量值来问一个问题。 – ravenspoint
@ravenspoint我同意LittleSweet - 我已经运行了一个分析器,看起来图的内存分配占用了我运行时的70%。无论如何预先分配我将要添加的边的数量? –