Lov*_*eow 4 boost graph-theory graph
假设我有一个无向图 G。假设我添加以下内容
add_edge(1,2,G);
add_edge(1,3,G);
add_edge(0,2,G);
Run Code Online (Sandbox Code Playgroud)
现在我再说一遍:
add_edge(0,2,G);
Run Code Online (Sandbox Code Playgroud)
我的图中从 0 ---> 2 开始有两条边吗?
如果我添加了两次边缘并且我这样做了会发生什么:
remove_edge(0,2,G);
Run Code Online (Sandbox Code Playgroud)
两个边缘都消失了,还是我还有其中之一?
你的两个问题的答案都取决于图 G 的定义。
根据boost::graph 教程,第一个问题的答案取决于OutEdgeList
您在图形定义中使用的内容。如果使用不能表示多条边的容器(例如setS
或hash_setS
),则无论插入多少次,两个顶点之间都只会有一条边。如果使用vectorS
,multisetS
或者类似的,将有插入的每个调用一个边缘add_edge()
。
根据同一页面(页面的该部分不允许直接链接 - 只需搜索remove_edge
),第二个问题的答案是调用该特定remove_edge()
函数后将删除两个顶点之间的所有边。有几个其他版本的remove_edge()
(在同一页面上描述),每个版本的行为略有不同。
归档时间: |
|
查看次数: |
3272 次 |
最近记录: |