术语注释:“顶点”=“节点”,“顶点/节点标签”=“索引”
LightGraphs
Julia 在生成诱导子图时会更改节点索引。
例如,如果一个图有节点[1, 2, 3, 4]
,它LightGraphs.induced_subgraph
由节点诱导的[3,4]
将是一个新图,其中节点[3,4]
被重新标记为[1,2]
。
在最先进的图算法中,使用递归子图,修改节点集并在递归层上下传递。为了让这些算法正确跟踪节点身份(标签),子图不能更改索引。
例如,在 Python 中进行子图会networkx
保留节点标签。
可以MetaGraphs
通过添加节点属性来使用,:id
该属性通过子图保留,但是您必须编写大量额外的代码来在节点索引和节点之间进行转换:id
。
当涉及到子图和保留节点身份时,是否没有一个“正常工作”的 Julia 包?