news 2026/5/27 1:32:22

【java入门到放弃】二叉树

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【java入门到放弃】二叉树

二叉树

前序中序后序遍历,是指根节点的顺序

importjava.util.LinkedList;importjava.util.Queue;publicclassBinaryTreeTraversal{// ===== 二叉树节点定义 =====staticclassTreeNode{intval;TreeNodeleft;TreeNoderight;TreeNode(intval){this.val=val;}}// ===== 创建一棵示例二叉树 =====// 1// / \// 2 3// / \// 4 5staticTreeNodebuildTree(){TreeNoderoot=newTreeNode(1);root.left=newTreeNode(2);root.right=newTreeNode(3);root.left.left=newTreeNode(4);root.left.right=newTreeNode(5);returnroot;}// ===== 1. 前序遍历:根 → 左 → 右 =====staticvoidpreorder(TreeNoderoot){if(root==null)return;System.out.print(root.val+" ");preorder(root.left);preorder(root.right);}// ===== 2. 中序遍历:左 → 根 → 右 =====staticvoidinorder(TreeNoderoot){if(root==null)return;inorder(root.left);System.out.print(root.val+" ");inorder(root.right);}// ===== 3. 后序遍历:左 → 右 → 根 =====staticvoidpostorder(TreeNoderoot){if(root==null)return;postorder(root.left);postorder(root.right);System.out.print(root.val+" ");}// ===== 4. 层序遍历(BFS) =====staticvoidlevelOrder(TreeNoderoot){if(root==null)return;Queue<TreeNode>queue=newLinkedList<>();queue.offer(root);while(!queue.isEmpty()){TreeNodenode=queue.poll();System.out.print(node.val+" ");if(node.left!=null){queue.offer(node.left);}if(node.right!=null){queue.offer(node.right);}}}// ===== main 方法测试 =====publicstaticvoidmain(String[]args){TreeNoderoot=buildTree();System.out.print("前序遍历:");preorder(root);System.out.println();System.out.print("中序遍历:");inorder(root);System.out.println();System.out.print("后序遍历:");postorder(root);System.out.println();System.out.print("层序遍历:");levelOrder(root);System.out.println();}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/25 21:30:17

大模型基石:神经网络工作原理完全指南,小白也能看懂

本文系统介绍了人工智能领域的基础概念&#xff0c;重点解释了神经网络如何通过将实际问题转化为数学问题来学习。详细阐述了神经网络作为复杂函数的表示方法、参数学习中的最优化问题、梯度下降和反向传播的工作原理&#xff0c;以及不同类型的损失函数。通过天气预测等实例&a…

作者头像 李华
网站建设 2026/5/25 2:34:10

Windows ISO自动化补丁集成工具终极指南

Windows ISO自动化补丁集成工具终极指南 【免费下载链接】Win_ISO_Patching_Scripts Win_ISO_Patching_Scripts 项目地址: https://gitcode.com/gh_mirrors/wi/Win_ISO_Patching_Scripts 还在为每次安装Windows系统后手动下载安装大量补丁而烦恼吗&#xff1f;&#x1f…

作者头像 李华
网站建设 2026/5/20 11:25:08

终极解密:动态网格布局的智能避障算法

当组件在有限空间内碰撞时&#xff0c;谁该让路&#xff1f;这个看似简单的布局谜题&#xff0c;背后隐藏着一套精妙的动态网格布局算法。今天&#xff0c;让我们化身技术侦探&#xff0c;深入探索GridStack引擎如何通过三步解决组件碰撞难题&#xff0c;实现智能空间分配。 【…

作者头像 李华
网站建设 2026/5/25 23:30:42

Vial-QMK键盘固件:从入门到精通的完整实战指南

Vial-QMK键盘固件&#xff1a;从入门到精通的完整实战指南 【免费下载链接】vial-qmk QMK fork with Vial-specific features. 项目地址: https://gitcode.com/gh_mirrors/vi/vial-qmk 想要彻底释放键盘的潜力吗&#xff1f;Vial-QMK键盘固件为你打开了一扇通往无限定制…

作者头像 李华
网站建设 2026/5/22 18:09:37

期末复习02(分析题+改错题)

文章目录程序分析项目结构分析题1分析题2分析题3分析题4二、程序改错题项目结构改错题01改错题02改错题03改错题04改错题05改错题06程序分析 项目结构 分析题1 package ProgramAnalysis;public class T1 {public static void main(String[] args) {int[][] arr {{10, 20, 3…

作者头像 李华