Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.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
Java 在有向图中查找从源到目标的所有可能路径_Java_Android_Algorithm_Graph - Fatal编程技术网

Java 在有向图中查找从源到目标的所有可能路径

Java 在有向图中查找从源到目标的所有可能路径,java,android,algorithm,graph,Java,Android,Algorithm,Graph,我正在制作一个Android总线应用程序,因为我必须找到源和目标之间所有可能的路径。我正在使用dijkstra算法进行dfs搜索 但当我输入查找结果的来源和目的地时,会花费更多的时间,我的应用程序会崩溃 请提供一个解决方案。我认为它正在崩溃,因为我相信,您用于查找只有一条路径存在的路径的算法正在崩溃。在Kruskals中查找可以找到多条路径的算法 可能有助于在一个通用图中查找所有路径是不可能的,如果该图有循环,则可能有无限多条路径。找到所有的简单路径是可能的,这些路径的数量是有限的——但简单路径

我正在制作一个Android总线应用程序,因为我必须找到源和目标之间所有可能的路径。我正在使用dijkstra算法进行dfs搜索

但当我输入查找结果的来源和目的地时,会花费更多的时间,我的应用程序会崩溃


请提供一个解决方案。

我认为它正在崩溃,因为我相信,您用于查找只有一条路径存在的路径的算法正在崩溃。在Kruskals中查找可以找到多条路径的算法


可能有助于

在一个通用图中查找所有路径是不可能的,如果该图有循环,则可能有无限多条路径。找到所有的简单路径是可能的,这些路径的数量是有限的——但简单路径的数量与节点的数量成指数关系——因此,对于一个大于15-20个节点的图来说,需要花费大量的时间。此外,如果没有代码,确定“崩溃”的原因是不可能的。我的猜测是,您使用的DFS没有访问集,因为您需要所有路径-这会导致堆栈爆炸,并且取决于实现-您会遇到堆栈溢出或内存不足。但这只是猜测,Kruskal算法找到了一棵生成树。一棵树在每对节点之间只有一条简单路径。更不用说,这个答案并不能回答两个节点之间存在无限多路径的问题。好的,我在发帖后意识到了这一点。有一些算法可以找到多条路径,但就是记不住名字。我也不认为无限是正确的,因为有限数量的节点会有有限数量的路径。他需要减少一些搜索。死胡同填充器/密封器查找多条路径不,无限多的节点意味着有有限数量的简单路径-如果图形有循环-您可以根据需要多次迭代循环,这将是一条新的非简单路径。这与形式语言领域中的类似。我的问题是,在我的图中,每个公交车站位于多条线路上Ex:xyzstop名称位于路线A、B、C编号上,因此花费的时间更多以下是我的代码: