我正在研究一种算法来查找图中两个节点之间的所有路径。就是这样,我能够对字符串数组中的所有路径进行编码,如下所示:
String []paths = new String[50];
注意:我使用字符串数组来存储路径,但我可以在必要时将它们存储在任何其他数据结构中。
我的数组中的数据示例如下表所示,请注意,字母是我的数据,连字符仅用于可视化:
-----------
| A | B | C |
-----------
| D | E | |
-----------
我只需要处理上述数组,并将所有组合输出为:
ABC
AEC
DBC
DEC
我尝试使用迭代方法“循环”来解决这个问题,但我失败了。我认为我们可以通过递归来做到这一点,但我不知道该怎么做。另外,我不知道是否有任何数据结构可以解决这个问题。存储路径而不是字符串数组更好的方法?
无论如何,这是我正在处理的循环:
String []temp = new String[100];
for( r=0; r<paths.length ;r++ )
for( c=0; c<paths[r].length() ;c++ )
for( j=c+1; j<paths[r].length() ;j+1 )
temp[r] += paths[j];