Julia中使用LightGraphs生成Erdős-Rényi图后如何获取边列表?
Julia LightGraphs 随机图边列表提取方案
首先需要注意你示例中erdos_renyi(3,3)的调用逻辑:该方法第二个参数为整数时代表生成的总边数,3节点无向图最多只有3条边,所以你这行代码刚好生成3节点完全图,符合你的预期输出场景。
你可以通过以下方法获取你需要格式的边列表:
using LightGraphs # 生成示例图 p = erdos_renyi(3, 3) # 自定义边列表提取函数 function List(g) return [[src(e), dst(e)] for e in edges(g)] end # 调用输出 List(p)
运行后输出结果就是你需要的[[1,2],[2,3],[1,3]]。
补充说明
edges(g)是LightGraphs内置方法,会返回图g所有边的迭代器src(e)可以取到单条边的起点节点编号,dst(e)可以取到终点节点编号- 如果你已经迁移到LightGraphs的后续维护版本
Graphs.jl,以上代码完全兼容,无需修改
内容的提问来源于stack exchange,提问作者Tio Miserias
相关产品推荐
相关产品推荐

