多叉树的深度搜索怎么写,请用java
时间: 2024-03-17 09:43:42 浏览: 20
多叉树的深度搜索可以使用递归实现。具体步骤如下:
1. 定义节点类型 `TreeNode`,包含两个属性:节点名称 `name` 和子节点列表 `child`:
```
class TreeNode {
String name;
List<TreeNode> child;
TreeNode(String name) {
this.name = name;
this.child = new ArrayList<>();
}
}
```
2. 定义一个方法 `dfs`,该方法接收一个节点作为参数,遍历该节点的子节点,并递归调用 `dfs` 方法,直到到达叶子节点:
```
public static void dfs(TreeNode node) {
System.out.println(node.name); // 输出当前节点名称
for (TreeNode child : node.child) {
dfs(child); // 递归遍历子节点
}
}
```
该方法首先输出当前节点的名称,然后遍历该节点的子节点,递归调用 `dfs` 方法,直到到达叶子节点。
3. 调用 `dfs` 方法,将根节点作为参数传入,即可遍历整棵树:
```
TreeNode rootNode = ...; // 根节点
dfs(rootNode);
```
完整代码如下:
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)