如何用更直接的R方法找出无向图的外围节点?
回答
你要找的外围节点(即偏心距等于图直径的节点),igraph 内置了专门的函数 peripheral_vertices(),可以一步完成需求,无需手动编写自定义逻辑:
library(igraph) # 直接获取外围节点 outer_nodes <- peripheral_vertices(g) print(outer_nodes)
运行后会得到和你自定义函数完全一致的输出:
[1] 2 3 7 13 16 18 19 20
补充说明
peripheral_vertices() 是igraph针对图论中外围节点的标准实现,它内部封装了你手动完成的步骤:
- 计算所有节点的偏心距
- 确定图的直径(最大偏心距)
- 筛选出偏心距等于直径的节点
作为内置函数,它经过了性能优化,处理大型图时会比自定义代码更高效,同时代码更简洁易读。
内容的提问来源于stack exchange,提问作者farrow90
相关产品推荐
相关产品推荐

