如何将图g的边列表转换为[[1,2];[1,3];[2,3]]格式的二维向量
可行实现方案
你可以直接调用图工具库内置的src()(取边的源节点)和dst()(取边的目标节点)方法遍历边列表,按需拼接成对应格式即可。
版本1:输出嵌套向量格式
如果需要[[1,2], [1,3], [2,3]]格式的嵌套一维向量,直接用列表推导式即可:
function f(g) return [[src(e), dst(e)] for e in edges(g)] end
版本2:输出二维矩阵格式
如果需要你示例中用分号分隔的[[1,2]; [1,3]; [2,3]]二维矩阵格式,调整为垂直拼接即可:
function f(g) return reduce(vcat, [src(e) dst(e)] for e in edges(g)) end
效果验证
你可以用测试用例验证输出:
# 构造测试图 g = SimpleGraph(3) add_edge!.([g], [1=>2, 1=>3, 2=>3]) # 调用函数 println(f(g))
输出结果和你要求的格式完全一致。
内容的提问来源于stack exchange,提问作者Tio Miserias
相关产品推荐
相关产品推荐

