Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在有向图中找到给定长度的圈?(使用networkx)_Python_Algorithm_Graph_Networkx_Cycle - Fatal编程技术网

Python 如何在有向图中找到给定长度的圈?(使用networkx)

Python 如何在有向图中找到给定长度的圈?(使用networkx),python,algorithm,graph,networkx,cycle,Python,Algorithm,Graph,Networkx,Cycle,我试图在有向图中找到长度为2、3、4和5的圈。到目前为止,我使用networkx()中的simple_cycles算法在大多数输入上都有不错的运气,除了在非常大的图的情况下。 是否有一种算法可以找到运行速度更快的较小周期?您不能递归遍历并拥有(节点,级别)的哈希映射吗正如您在递归函数中访问过的那样,一旦您到达hashmap中也存在的节点,那么您已经知道它是一个循环,然后从hashset中的当前级别中减去当前级别,然后返回该级别以添加到linkedlist中,这样在递归调用结束时,您就有了一个包含

我试图在有向图中找到长度为2、3、4和5的圈。到目前为止,我使用networkx()中的simple_cycles算法在大多数输入上都有不错的运气,除了在非常大的图的情况下。
是否有一种算法可以找到运行速度更快的较小周期?

您不能递归遍历并拥有(节点,级别)的哈希映射吗正如您在递归函数中访问过的那样,一旦您到达hashmap中也存在的节点,那么您已经知道它是一个循环,然后从hashset中的当前级别中减去当前级别,然后返回该级别以添加到linkedlist中,这样在递归调用结束时,您就有了一个包含循环的列表小于一定尺寸的。