河北城乡和住房建设厅官方网站线上电商怎么做

张小明 2026/1/12 15:37:17
河北城乡和住房建设厅官方网站,线上电商怎么做,wordpress 鼠标翻页,温州企业网站开发目录 引入#xff1a; 一、二叉树节点的定义 二、二叉树的构建#xff08;插入节点#xff09; 三、二叉树的遍历 3.1深度优先遍历 3.1.1先序遍历#xff08;根 → 左 → 右#xff09; 3.1.2中序遍历#xff08;左 → 根 → 右#xff09; 3.1.3后序遍历#…目录引入一、二叉树节点的定义二、二叉树的构建插入节点三、二叉树的遍历3.1深度优先遍历3.1.1先序遍历根 → 左 → 右3.1.2中序遍历左 → 根 → 右3.1.3后序遍历左 → 右 → 根3.2广度优先遍历四、二叉树的查找五、完整测试代码六、输出结果七、总结引入二叉树是数据结构中的基础结构之一常用于实现排序、查找等功能。本文将基于 Java 实现二叉树的构建、深度优先遍历先序/中序/后序、广度优先遍历与查找并通过代码示例详解核心逻辑。一、二叉树节点的定义二叉树的基本单元是“节点”每个节点包含左子节点、右子节点、数据域三个部分对应 Java 类的实现如下/** * 二叉树节点类 */ public class TreeNode { // 左子节点 public TreeNode lChild; // 右子节点 public TreeNode rChild; // 数据域 public Integer data; // 构造方法 public TreeNode(Integer data) { this.data data; } }二、二叉树的构建插入节点二叉树的构建逻辑是按“左小右大”的规则插入节点若树为空新节点作为根节点若树非空从根节点开始比较( 新节点数据 当前节点数据 → 插入到右子树 新节点数据 ≤ 当前节点数据 → 插入到左子树)循环查找直到找到空的子节点位置插入新节点。代码实现/** * 二叉树类 */ public class BinaryTree { // 根节点 public TreeNode root; /** * 插入节点构建二叉树 * param value 要插入的数据 */ public void create(Integer value) { // 1. 创建新节点 TreeNode newNode new TreeNode(value); // 2. 若树为空新节点作为根节点 if (root null) { root newNode; return; } // 3. 从根节点开始遍历找到插入位置 TreeNode curNode root; while (true) { // 新节点数据 当前节点数据 → 插入右子树 if (curNode.data newNode.data) { if (curNode.rChild null) { curNode.rChild newNode; return; } curNode curNode.rChild; } else { // 新节点数据 ≤ 当前节点数据 → 插入左子树 if (curNode.lChild null) { curNode.lChild newNode; return; } curNode curNode.lChild; } } } }测试示例插入数据 5、7、2、6、0、4、3、1构建的二叉树结构如下三、二叉树的遍历二叉树的深度优先遍历分为先序、中序、后序三种以根节点的访问时机区分通常采用递归实现。3.1深度优先遍历3.1.1先序遍历根 → 左 → 右先访问根节点再递归遍历左子树最后递归遍历右子树。/** * 先序遍历 * param root 遍历的起始节点 */ public void beforeOrder(TreeNode root) { if (root null) { return; } // 1. 访问根节点 System.out.print(root.data ); // 2. 遍历左子树 beforeOrder(root.lChild); // 3. 遍历右子树 beforeOrder(root.rChild); }遍历结果5 2 0 1 4 3 7 63.1.2中序遍历左 → 根 → 右先递归遍历左子树再访问根节点最后递归遍历右子树。/** * 中序遍历 * param root 遍历的起始节点 */ public void inOrder(TreeNode root) { if (root null) { return; } // 1. 遍历左子树 inOrder(root.lChild); // 2. 访问根节点 System.out.print(root.data ); // 3. 遍历右子树 inOrder(root.rChild); }遍历结果0 1 2 3 4 5 6 7注二叉排序树的中序遍历结果是有序的3.1.3后序遍历左 → 右 → 根先递归遍历左子树再递归遍历右子树最后访问根节点。/** * 后序遍历 * param root 遍历的起始节点 */ public void afterOrder(TreeNode root) { if (root null) { return; } // 1. 遍历左子树 afterOrder(root.lChild); // 2. 遍历右子树 afterOrder(root.rChild); // 3. 访问根节点 System.out.print(root.data ); }遍历结果1 0 3 4 2 6 7 53.2广度优先遍历又叫层次优先遍历上图的广度优先遍历结果为5 2 7 0 4 6 1 3四、二叉树的查找查找逻辑与构建逻辑一致从根节点开始比较根据“左小右大”的规则遍历直到找到目标节点或遍历到空节点。代码实现/** * 查找节点 * param root 查找的起始节点 * param value 要查找的数据 * return 找到的节点未找到返回null */ public TreeNode findNode(TreeNode root, Integer value) { if (root null) { return null; } TreeNode curNode root; while (true) { if (curNode.data.equals(value)) { return curNode; } else if (curNode.data value) { if (curNode.rChild null) { return null; } curNode curNode.rChild; } else { if (curNode.lChild null) { return null; } curNode curNode.lChild; } } }五、完整测试代码public class Test { public static void main(String[] args) { BinaryTree bt new BinaryTree(); // 插入节点构建二叉树 bt.create(5); bt.create(7); bt.create(2); bt.create(6); bt.create(0); bt.create(4); bt.create(3); bt.create(1); // 先序遍历 System.out.print(先序遍历); bt.beforeOrder(bt.root); System.out.println(); // 中序遍历 System.out.print(中序遍历); bt.inOrder(bt.root); System.out.println(); // 后序遍历 System.out.print(后序遍历); bt.afterOrder(bt.root); System.out.println(); // 查找节点 TreeNode findNode bt.findNode(bt.root, 4); System.out.println(查找值为4的节点 (findNode ! null ? findNode.data : 未找到)); } }六、输出结果先序遍历5 2 0 1 4 3 7 6中序遍历0 1 2 3 4 5 6 7后序遍历1 0 3 4 2 6 7 5查找值为4的节点4七、总结本文实现了二叉树的核心操作构建按“左小右大”规则插入节点形成二叉排序树遍历通过递归实现先序、中序、后序遍历其中中序遍历结果是有序的查找基于“左小右大”规则遍历树时间复杂度为O(logn)平衡二叉树。二叉树是后续学习平衡二叉树、红黑树等高级结构的基础掌握其核心操作能帮助你理解更复杂的数据结构逻辑。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

想开个网站不知怎样做wordpress发邮件功能

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个de4dot快速原型系统,要求:1. 最简命令行界面 2. 支持拖放文件处理 3. 基本反混淆功能 4. 即时结果显示 5. 可扩展架构。使用.NET CLI项目模板&#…

张小明 2026/1/10 18:20:19 网站建设

好网站建设公司服务湖北公众号定制开发

AI重照明技术实战指南:3步让普通照片拥有专业光影效果 【免费下载链接】Relight 项目地址: https://ai.gitcode.com/hf_mirrors/dx8152/Relight 还在为照片光影效果不理想而烦恼?想不想让普通照片瞬间拥有专业影棚级别的光影质感?今天…

张小明 2026/1/2 14:09:12 网站建设

手机网站 需求模板张家港网站网络优化

第一章:为什么你的LangGraph Agent跑不满CPU?:深度剖析Docker资源分配盲区在部署LangGraph Agent时,许多开发者发现即使负载增加,CPU利用率依然无法达到预期。这往往并非代码效率问题,而是Docker容器的资源…

张小明 2025/12/22 8:38:15 网站建设

网店网站设计设计方案怎么做

远程访问:SSH与VNC服务器配置全解析 1. SSH服务基础配置 SSH(Secure Shell)是一种网络协议,用于在不安全的网络中提供安全的远程登录和其他网络服务。以下是配置SSH服务的详细步骤: - 确保服务运行 :使用以下命令检查 sshd 服务是否正在运行,如果未运行则启动它。…

张小明 2026/1/7 0:32:03 网站建设

网站优化难吗wordpress采集站源码

在 uni-app 开发中,文件上传是一个常见且重要的功能。尤其是在 App 端,如何实现一个既美观又实用的文件上传与展示界面,是很多开发者关心的问题。本文将介绍如何通过 xe-upload 插件,结合自定义 UI,实现一个完整的文件…

张小明 2026/1/7 0:34:03 网站建设

长沙哪里学网站建设seo李守洪排名大师

1、概述项目要支持日语,将系统语言切换到日语,突然发现不知道怎么打开控制面板了,网上搜索了下命令,cmd窗口输入"control",可以打开控制面板。

张小明 2026/1/7 0:36:21 网站建设