求递归算法(Java)
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/21 06:15:31
求递归算法(Java)
数据结构是:
id name parentid type
0 a -1 root
1 b 0 node
2 c 1 job
3 d 1 job
4 e 2 job's job
5 f 0
.
其实就是一个树,如图:
0
- 1
- 2
- 4
- 3
- 5
我现在想查询第三层或者第四层的任意节点的属于哪个第二层节点,就是type是node的那个节点
比如图中,2、3、4查询的话,结果就应该是1节点.
请问用递归算法如何实现?
数据结构是:
id name parentid type
0 a -1 root
1 b 0 node
2 c 1 job
3 d 1 job
4 e 2 job's job
5 f 0
.
其实就是一个树,如图:
0
- 1
- 2
- 4
- 3
- 5
我现在想查询第三层或者第四层的任意节点的属于哪个第二层节点,就是type是node的那个节点
比如图中,2、3、4查询的话,结果就应该是1节点.
请问用递归算法如何实现?
![求递归算法(Java)](/uploads/image/z/4971502-46-2.jpg?t=%E6%B1%82%E9%80%92%E5%BD%92%E7%AE%97%E6%B3%95%EF%BC%88Java%EF%BC%89)
这个不是有parentId在那里为你服务么?
Node findTypeNode(Node node){
if(node.type == root) return null;
if(node.type == "node"){return node;}
else{return findTypeNode(node.parentNode);}
}
伪代码而已,你要根据具体数据结构来!
Node findTypeNode(Node node){
if(node.type == root) return null;
if(node.type == "node"){return node;}
else{return findTypeNode(node.parentNode);}
}
伪代码而已,你要根据具体数据结构来!