
求java大神,关于一个递归算法如何实现的问题~
如图:例子1:计算1有几个有效的子对象:从1的第三(或者第3个以上,包含第三个)个子对象23开始,23本身算一个有效对象,然后23所对应的子对象的前两个31和32也是1的...
如图:
例子1:
计算1有几个有效的子对象:从1的第三(或者第3个以上,包含第三个)个子对象23开始,23本身算一个有效对象,然后23所对应的子对象的前两个31和32也是1的有效对象,然后31和32的前两个子对象也是1的有效对象,由于31和32分别有一个子对象,所以41和42也是1的子对象,所以上图1的有效子对象为:23、31、32、41、42~
例子2:
如图:
该图1的有效对象为:23、31、32、41、42、44、45
例子3:
该图1的有效子对象为23、31、32
问题:请写出算法计算任意节点的有效子对象个数,本人搞web开发的,所以对算法不是很熟悉,求这方面的大神解答疑惑,谢谢了~ 展开
例子1:
计算1有几个有效的子对象:从1的第三(或者第3个以上,包含第三个)个子对象23开始,23本身算一个有效对象,然后23所对应的子对象的前两个31和32也是1的有效对象,然后31和32的前两个子对象也是1的有效对象,由于31和32分别有一个子对象,所以41和42也是1的子对象,所以上图1的有效子对象为:23、31、32、41、42~
例子2:
如图:
该图1的有效对象为:23、31、32、41、42、44、45
例子3:
该图1的有效子对象为23、31、32
问题:请写出算法计算任意节点的有效子对象个数,本人搞web开发的,所以对算法不是很熟悉,求这方面的大神解答疑惑,谢谢了~ 展开
1个回答
展开全部
递归算法说白了就是方法体再调用方法体本身,直到某一条件(不存在子节点),停止调用方法,时候就已经遍历到最后的子节点了。
比如说:方法体1的参数是一个id1,方法体1的这个方法是根据id1查询父id为id1的节点,然后进行判断,如果存在父id为id1的节点,那么把查询得到的子节点的id作为参数id1再次传入方法体1中进行查询,一直这样持续查询,直到不存在父id为id1的节点,结束查询,那么这时候就把整个树形结构的数据遍历出来了。
比如说:方法体1的参数是一个id1,方法体1的这个方法是根据id1查询父id为id1的节点,然后进行判断,如果存在父id为id1的节点,那么把查询得到的子节点的id作为参数id1再次传入方法体1中进行查询,一直这样持续查询,直到不存在父id为id1的节点,结束查询,那么这时候就把整个树形结构的数据遍历出来了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询