news 2026/9/9 21:33:43

【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/9/9 3:37:12

终极指南:使用urdf-viz快速实现URDF可视化

终极指南&#xff1a;使用urdf-viz快速实现URDF可视化 【免费下载链接】urdf-viz 项目地址: https://gitcode.com/gh_mirrors/ur/urdf-viz 想要轻松查看和交互机器人模型吗&#xff1f;&#x1f680; urdf-viz 是一个基于 Rust 开发的免费开源工具&#xff0c;专门用于…

作者头像 李华
网站建设 2026/9/9 5:40:28

如何在10分钟内快速搭建MosDNS:打造高性能DNS转发器的完整教程

如何在10分钟内快速搭建MosDNS&#xff1a;打造高性能DNS转发器的完整教程 【免费下载链接】mosdns mosdns - 一个DNS转发器&#xff0c;使用Go语言编写&#xff0c;遵循GPLv3许可。 项目地址: https://gitcode.com/gh_mirrors/mo/mosdns MosDNS是一款基于Go语言开发的高…

作者头像 李华
网站建设 2026/9/9 16:29:38

AI时代的思考力:程序员构建个人知识体系的完整路径!

简介 本文探讨了AI时代程序员如何提升思考力&#xff0c;构建完整知识体系。强调思考应向洞察力和反思力两端移动&#xff0c;通过业务、技术、管理和软技能四维度并行发展&#xff0c;结合长期主义坚持和写作实践&#xff0c;形成学习-实践-复盘的闭环迭代。AI工具可辅助快速…

作者头像 李华
网站建设 2026/9/8 5:06:54

基于大语言模型的产量预测方法

第一步&#xff1a;下载预训练GPT模型&#xff08;transformers库一键下载&#xff09;第二步&#xff1a;编写数据处理器&#xff08;处理你的数据&#xff09;第三步&#xff1a;创建适配器模型&#xff08;修改GPT用于时序预测&#xff09;第四步&#xff1a;训练模型&#…

作者头像 李华
网站建设 2026/9/9 20:38:50

当开题报告还在“憋字”?不如让AI帮你搭好科研第一块积木

在高校的深夜自习室里&#xff0c;总有一群人对着空白的Word文档发呆——不是没思路&#xff0c;而是卡在“如何把思路变成一份规范、严谨、逻辑严密的开题报告”。尤其对初涉科研的硕博新生而言&#xff0c;“开题”二字几乎等同于“焦虑源”&#xff1a;研究背景怎么写才不空…

作者头像 李华