获取所有边缘ID的向量

时间:2015-05-19 12:25:32

标签: c++ igraph

igraph的c / c ++库中,我正在尝试编写一个函数,该函数返回graph的随机边。目的是编写一个更大的函数,它在每个时间步骤“访问”一个随机边缘,并在访问所有边缘时停止。在每次访问时,都会执行一些外部代码。

为了编写这样的函数,我需要能够首先接收列表/向量/包含eid边缘的所有graph的内容。在手册中,我只看到igraph_get_eids,它沿路径返回边缘ID列表,或者相对于顶点对矢量返回。

当然,我可以手动创建所有顶点对的向量,并将其用作上述函数的输入,但这看起来像是一种矫枉过正,可能是一个更直接(和高效?)的解决方案。 ..

1 个答案:

答案 0 :(得分:1)

igraph的边缘ID始终是从零到igraph_ecount(graph)-1(包括)的连续整数,因此您可以简单地从该范围生成随机整数,以从图形中绘制随机边缘。

引用igraph manual

  

igraph图是有序(如果是定向)或无序(如果是无向的)标记对的多重集合。对的标签加上顶点数总是从零开始,以边数减1来结束。