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

张小明 2026/1/10 14:31:35
河北城乡和住房建设厅官方网站,线上电商怎么做,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进行投诉反馈,一经查实,立即删除!

青岛市建设监理网站宝安网站建设 名匠

Wan2.2-T2V-A14B适合哪些行业?这5大领域最具潜力 你有没有想过,未来拍电影可能不再需要摄影棚、灯光组和复杂的剪辑流程? 只需输入一句描述:“夕阳下,穿旗袍的女子撑着油纸伞走过青石板路,雨滴轻敲屋檐”&a…

张小明 2025/12/28 2:11:16 网站建设

网站建设和维护及云计算养老网站建设 中企动力

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 请设计一个基于NginxTomcat的集群部署方案。要求:1) 3个Tomcat节点;2) Nginx负载均衡配置;3) Redis实现会话共享;4) 包含健康检查机制…

张小明 2026/1/2 13:18:36 网站建设

网站建设费用的财务核算推广活动策划方案范文

第一章:为什么顶尖团队都在改用Open-AutoGLM?在人工智能快速演进的当下,越来越多的头部技术团队开始转向使用 Open-AutoGLM —— 一个开源、自动化且高度可扩展的生成语言模型框架。其核心优势在于将自然语言理解、任务自动分解与代码生成深度…

张小明 2025/12/19 17:07:40 网站建设

网站备案查询 apiwordpress主题设置选择

最近看到很多朋友发帖在问大模型真的只是研究生才能干吗?自己眼馋,自己担心无法入局。 我先说结论!不是的,任何人都有机会。我先介绍我自己,我是14年毕业某西北双非本科,刚毕业是做国企信息系统集成&#x…

张小明 2025/12/19 17:05:38 网站建设

成都网站建设推广在线咨询中企动力做网站 知乎

Fastboot Enhance:Windows平台Android设备管理的实用解决方案 【免费下载链接】FastbootEnhance 项目地址: https://gitcode.com/gh_mirrors/fas/FastbootEnhance Fastboot Enhance是一款专为Windows平台设计的Android设备管理工具,通过图形化界…

张小明 2026/1/4 17:02:26 网站建设

三五互联网站管理登录地址青岛做网站的公司哪家好

半导体分立器件如今已成为不可或缺的元件,在通信、电力电子等领域得到广泛应用。而对其性能参数的测试也是必不可少的,是对半导体性能、质量的保障。半导体测试参数包含静态测试参数和动态测试参数,本文将介绍半导体分立器件静态测试参数的相…

张小明 2026/1/3 4:11:46 网站建设