networkx.is_isomorphic 的复杂度是多少?

问题描述

networkx.is_isomorphic(graph1,graph2) 的复杂度是多少? 在有向无环图的情况下,我特别有兴趣了解它。

干杯。

解决方法

根据nx.is_isomorphic的文档实现了vf2算法,甚至给出了原始的科学参考。

“LP Cordella、P. Foggia、C. Sansone、M. Vento,“一种用于匹配大图的改进算法”,第三届 IAPR-TC15 模式识别中基于图的表示研讨会,Cuen,第 149-159 页,2001 年。”

boost 库声明 vf2-algorithm 的复杂性如下:

"VF2 的空间复杂度为 O(V) 阶,其中 V 是两个图的(最大)顶点数。时间复杂度在最佳情况下为 O(V^2),O(V! ·V) 在最坏的情况下。"