Java递归查询用代码怎么写
时间: 2023-04-03 21:01:39 浏览: 50
你可以使用以下代码实现 Java 递归查询:
public void recursiveSearch(Node node, String target) {
if (node == null) {
return;
}
if (node.data.equals(target)) {
System.out.println("Found: " + node.data);
return;
}
for (Node child : node.children) {
recursiveSearch(child, target);
}
}
其中,Node 表示节点,data 表示节点的数据,children 表示节点的子节点。递归查询的思路是,从根节点开始,依次遍历每个子节点,如果子节点的数据与目标数据相同,则输出结果;否则,继续递归遍历子节点的子节点,直到找到目标数据或者遍历完所有节点。
相关问题
java递归查询代码
以下是一个简单的 Java 递归查询代码示例:
```java
public class RecursiveSearch {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int target = 3;
int index = search(arr, target, 0, arr.length - 1);
if (index != -1) {
System.out.println("目标元素 " + target + " 在数组中的索引为:" + index);
} else {
System.out.println("目标元素 " + target + " 不在数组中");
}
}
public static int search(int[] arr, int target, int start, int end) {
if (start > end) {
return -1;
}
int mid = start + (end - start) / 2;
if (arr[mid] == target) {
return mid;
} else if (arr[mid] > target) {
return search(arr, target, start, mid - 1);
} else {
return search(arr, target, mid + 1, end);
}
}
}
```
该示例中使用递归实现了二分查找算法,可以在一个已排序的整数数组中查找指定的目标元素。在 `search` 方法中,首先判断起始索引是否大于结束索引,如果是,说明数组中没有目标元素,返回 -1。然后计算中间索引,并判断中间元素与目标元素的大小关系,如果相等则返回中间索引,否则根据大小关系缩小搜索范围递归调用 `search` 方法,直到找到目标元素或者确定目标元素不在数组中。
写一篇java递归的代码
好的,以下是一个简单的 Java 递归代码示例:
```
public class RecursionExample {
public static void main(String[] args) {
int n = 5;
int result = factorial(n);
System.out.println("Factorial of " + n + " is " + result);
}
public static int factorial(int n) {
if (n == ) {
return 1;
} else {
return n * factorial(n - 1);
}
}
}
```
这个代码演示了如何使用递归来计算一个数的阶乘。在这个例子中,我们定义了一个名为 `factorial` 的方法,它接受一个整数参数 `n`,并返回 `n` 的阶乘。如果 `n` 等于 ,我们返回 1,否则我们递归调用 `factorial` 方法来计算 `n-1` 的阶乘,并将结果乘以 `n`。