JAVA实现 递归算法
大家好!
现在有个需求,想用java实现一个递归算法。
需求是这样的 假如有两个数组 1,1,2 2,4,3
我想遍历@arr1作为根,最后实现类似oracle 的connect by
两列:
root_id id
1 2
1 4
2 3
4 5
5 6
把所有通路找出来,通路的顺序无所谓,只要找出来所有的通路就成。
想要的效果是打印如下内容:(root_id 和id的所有关系都打印出来)
1,2
1,2,3
1,4
1,4,5
1,4,5,6
2,3
4,5
4,5,6
5,6
当然,这只有5,6个元素的数组,道理是一样的,我库里的元素有200多个不到300个,而且有的层次很深,一个根延伸出来10几万的叶子,我用oracle connect by 进行递归经常几个小时也算不完,而且内存消耗过大
,所以想用java来实现,不知道能不能处理,请大侠们帮忙。
谢谢了。
补充一下,两个数组可能有回路,还需要规避回路情况,类似oracle nocycle connect by.