Java 实现 二叉树的 前序遍历

news/2024/11/7 20:54:31/

1、定义节点类

class Node {int val;Node left;Node right;Node(int val) {this.val = val;}
}public class BinaryTree {/*** 前序遍历* @param root 节点*/public void preorderTraversal(Node root) {if (root != null) {System.out.print(root.val + " ");preorderTraversal(root.left);preorderTraversal(root.right);}}
}

1)解析

首先,定义了一个 Node 类表示二叉树的节点。节点包含了一个整型的 val 值,以及左右两个子节点的引用。

然后,定义了 BinaryTree 类,该类包含了一个方法 preorderTraversal,用于实现前序遍历。

前序遍历的顺序是:先遍历根节点,然后遍历左子树,最后遍历右子树。

如果二叉树为空,则直接返回。否则,先输出根节点的值,然后递归遍历左子树和右子树。

2)使用方法

首先创建二叉树的节点,然后构建二叉树,最后调用 BinaryTree 类的 preorderTraversal 方法进行前序遍历。

2、测试代码

public class TestTree {public static void main(String[] args) {// 构建二叉树Node root = new Node(1);root.left = new Node(2);root.right = new Node(3);root.left.left = new Node(4);root.left.right = new Node(5);// 先序遍历BinaryTree bt = new BinaryTree();System.out.print("Preorder Traversal: ");bt.preorderTraversal(root); // 1 2 4 5 3
}

PS

Java 实现 二叉树的 前序遍历:https://www.cnblogs.com/miracle-luna/p/17368605.html

Java 实现 二叉树的 中序遍历:https://www.cnblogs.com/miracle-luna/p/17368610.html

Java 实现 二叉树的 后序遍历:https://www.cnblogs.com/miracle-luna/p/17368606.html


http://www.ppmy.cn/news/77202.html

相关文章

使用go语言构建区块链 Part1.基础原型

英文源地址 简介 区块链技术是21世纪最具变革型的技术之一,它仍处于成长阶段, 其潜力尚未完全实现.从本质上说, 区块链是一个分布式的记账数据库.但它的独特之处在于它不是一个私有数据库,而是一个公共数据库, 也就是说, 每个使用它的人都有它的完整或部分副本.而且,只有在征…

【六袆 - Redis】Redis内存数据库;redis数据结构;redis文档

Redis 关于redis 官方文档: https://redis.io/docs/about/数据结构文档 https://redis.com/redis-enterprise/data-structures/命令行文档 https://redis.io/commands/keys/ 关于redis Redis: 是一个开源(BSD 许可)内存数据结构存储&#xf…

Day03 02-MySQL多表查询详解

文章目录 第八章 多表查询8.1 多表查询介绍8.1.1 什么是多表查询8.1.2 多表查询基本写法8.1.3 笛卡尔积8.1.4 连接查询条件限制 8.2 连接查询分类8.2.1 内连接8.2.2 外连接8.2.3 全连接8.2.4 自然连接 8.3 子查询8.3.1 子查询简介8.3.2 在where子句中8.3.3 在from子句中8.3.4 在…

2020下半年

2020下半年 d a b 小阶向大阶对齐 b b 平均cpi: MIPS: d c 公加验,私解签 加密防止被动攻击,认证防止主动攻击 a 访问控制包括:授权,确定存取权限,实施存取权限 c a c a 先申请先得 b b 著作权包括&…

GitHub Copilot:神一样的代码助手

我肝肯定,很多很多小伙伴还不了解 Copilot 是什么,尤其是初学计算机的小伙伴,我这里普及一下吧! GitHub Copilot 是一个基于 AI 的代码自动完成工具,由 GitHub 和 OpenAI 共同开发。 GitHub 和 OpenAI 想必大家都很清楚…

【论文阅读】23_SIGIR_Disentangled Contrastive Collaborative Filtering(分离对比协同过滤)

【论文阅读】23_SIGIR_Disentangled Contrastive Collaborative Filtering(分离对比协同过滤) 文章目录 【论文阅读】23_SIGIR_Disentangled Contrastive Collaborative Filtering(分离对比协同过滤)1. 来源2. 介绍3. 模型方法3.1…

联想集团财报:收入持续下滑,联想集团财务前景已恶化

来源:猛兽财经 作者:猛兽财经 联想集团2023财年第三季度财务业绩回顾 联想集团(00992)于2023年2月16日盘后公布了该公司2023财年第三季度的财报。 财报显示,联想集团的收入已经从2022财年第三季度的201.27亿美元下降到…

路径规划 | 图解快速随机扩展树RRT算法(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是RRT算法?2 图解RRT算法原理3 算法仿真与实现3.1 ROS C++实现3.2 Python实现3.3 Matlab实现0 专栏介绍 🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);…