【发布时间】:2016-04-02 02:54:27
【问题描述】:
我想使用 C 的 iGraph 库在图中删除一个随机选择的最大度数顶点。这是我的代码:
#include <stdio.h>
#include <igraph/igraph.h>
int main() {
float dens = .12;
int nbr_nodes = 100;
igraph_integer_t mdeg;
igraph_vector_t degree;
igraph_t g;
igraph_rng_seed(igraph_rng_default(), 400);
igraph_erdos_renyi_game(&g, IGRAPH_ERDOS_RENYI_GNP, nbr_nodes, dens,IGRAPH_UNDIRECTED, IGRAPH_NO_LOOPS);
igraph_vector_init(°ree,0);
igraph_degree(&g, °ree, igraph_vss_all(), IGRAPH_ALL, IGRAPH_NO_LOOPS);
igraph_maxdegree(&g, &mdeg, igraph_vss_all(), IGRAPH_ALL, IGRAPH_NO_LOOPS);
igraph_delete_vertices(&g, ???);
return 0;
}
我可以通过以下方式找到最大度数:
igraph_maxdegree(&g, &mdeg, igraph_vss_all(), IGRAPH_ALL, IGRAPH_NO_LOOPS);
但我不确定如何找到与最大度数顶点之一对应的 ID。
简而言之,我不确定该放什么而不是 ???在:
igraph_delete_vertices(&g, ???);
谢谢!任何线索表示赞赏!
【问题讨论】: