做网站界面需要注意什么问题大连建设工程信息网官网查询

张小明 2026/1/11 17:39:27
做网站界面需要注意什么问题,大连建设工程信息网官网查询,服装网站建设优点与缺点,网站开发使用软件有哪些一、二叉排序树概述二叉排序树是一种特殊的二叉树#xff0c;满足左子树节点值小于根节点值#xff0c;右子树节点值大于根节点值。如图中所示二、二叉排序树的创建1.我们先定义一个节点的数据结构TreeNode#xff0c;一个节点包含左右孩子指针和数据项。public class TreeN…一、二叉排序树概述二叉排序树是一种特殊的二叉树满足左子树节点值小于根节点值右子树节点值大于根节点值。如图中所示二、二叉排序树的创建1.我们先定义一个节点的数据结构TreeNode一个节点包含左右孩子指针和数据项。public class TreeNode { public TreeNode lchild; public TreeNode rchild; public Integer data; public TreeNode(Integer data){ this.data data; } }2.我们需要一个指针root用来指向树的根节点还需要一个指针curNode来指向当前判断的节点除了判断新节点是否大于或小于curNode还需要判断curNode的左右孩子节点是不是空如果不是空我们需要循环把curNode指向其孩子节点继续判断直到curNode的孩子节点为空插入新节点。以下是代码流程新插入节点判断1如果root null新插入节点作为根节点不为null进行值的判断2循环判断新插入节点的值是否小于当前节点如果小往左走直到为null插入3循环判断新插入节点的值是否大于当前节点如果大往右走直到为null插入public class BinaryTree { public TreeNode root; public void create(Integer data){ TreeNode newNode new TreeNode(data); //选择一个节点作为根节点 if(root null){ root newNode; return; } 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; } } } }三、深度优先遍历深度优先遍历是指按照某种规则访问树中的所有节点且每个节点仅访问一次。三种主要的遍历方式先序遍历根节点 → 左子树 → 右子树中序遍历左子树 → 根节点 → 右子树后序遍历左子树 → 右子树 → 根节点这里的先、中、后指的是根节点被访问的时机。3.1先序遍历访问顺序1访问根节点2先序遍历左子树3先序遍历右子树//先序遍历 public void beforeOrder(TreeNode root){ if(root null){ return; } System.out.println(root.data); //访问根节点 beforeOrder(root.lchild); //先序遍历左子树 beforeOrder(root.rchild); //先序遍历右子树 }我们以上图排序树为例给出遍历过程1访问根节点52遍历5的左子树3为根访问3遍历3的左子树0为根访问00无左子树0无右子树遍历3的右子树4为根访问44无左子树4无右子树3遍历5的右子树7为根访问7遍历7的左子树6为根访问66无左子树6无右子树遍历7的右子树9为根访问99无左子树9无右子树结果5 3 0 4 7 6 9先序遍历的输出整体看是从根到左再到右所以先序遍历适合用在复制树的结构和前缀表达式中3.2中序遍历访问顺序1中序遍历左子树2访问根节点3中序遍历右子树//中序遍历 public void inOrder(TreeNode root){ if(root null){ return; } inOrder(root.lchild); //中序遍历左子树 System.out.println(root.data); //访问根节点 inOrder(root.rchild); //中序遍历右子树 }遍历分析过程与上面先序同理中序遍历上图结果0 3 4 5 6 7 9我们不难发现中序遍历结果是顺序的所以中序遍历适合二叉排序树的有序输出3.3后续遍历访问顺序1后序遍历左子树2后序遍历右子树3访问根节点//后续遍历 public void afterOrder(TreeNode root){ if(root null){ return; } afterOrder(root.lchild); //后续遍历左子树 afterOrder(root.rchild); //后续遍历右子树 System.out.println(root.data); //访问根节点 }遍历上述图结果0 4 3 6 9 7 5后序遍历整体输出是从叶子节点到根节点所以后序遍历适合用在删除树和后缀表达式中四、广度优先遍历广度优先遍历又称层次遍历原理是按层次从上到下访问节点同一层从左到右访问使用队列先进先出保证访问顺序。以下是代码流程1根节点先入队2循环执行队列不为空时1.队头节点出队并访问该节点2.如果该节点的左孩子节点存在则左孩子节点入队3.如果该节点的右孩子节点存在则右孩子节点入队3直到队列为空//层次遍历 public void levelOrder(TreeNode root){ LinkedListTreeNode linklist new LinkedListTreeNode(); linklist.add(root); while(!linklist.isEmpty()){ root linklist.pop(); System.out.println(root.data); if(root.lchild ! null){ linklist.add(root.lchild); } if (root.rchild ! null){ linklist.add(root.rchild); } } }五、查找算法二叉排序树的查找可以递归实现先判断是否为空树然后判断根节点是否为要找的目标节点最后判断如果根节点大于目标节点则递归返回把根节点左孩子作为形参否则递归返回根节点右孩子作为形参。public TreeNode find(TreeNode root,Integer target){ if(root null){ return null; } if(Objects.equals(root.data, target)){ return root; } else if(root.data target){ return find(root.lchild,target); }else { return find(root.rchild,target); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站由哪些部分组成wordpress不转义

终极iOS评论系统:5大核心功能深度解析与实战指南 【免费下载链接】iOSProject iOS project of collected some demos for iOS App, use Objective-C 项目地址: https://gitcode.com/gh_mirrors/io/iOSProject 在移动应用开发中,评论系统是用户互动…

张小明 2025/12/24 4:26:28 网站建设

传奇简单网站模板甘肃省住房与建设厅网站

文章目录前言Vue 长列表为什么一定会卡?1. v-for 渲染大量节点的真实代价2. DOM 数量过多,回流重绘是致命的3. 图文混排 复杂组件 雪上加霜核心解法:虚拟列表(Virtual List)1. 虚拟列表原理一句话版2. vue-virtual-s…

张小明 2026/1/11 16:20:41 网站建设

福建建设执业注册中心网站怎么搭建网站后台

写在前面 作为一名40岁的程序员,我学习大语言模型的过程充满挫折。看了无数篇文章,都在说"Query是查询,Key是键,Value是值"——然后呢?然后就没了。公式倒是列了一大堆,但**为什么要这么设计&…

张小明 2025/12/23 23:21:13 网站建设

网站视觉规范怎么做商城网站建设要多少钱

深入解析SSH:保障Linux与Windows集成安全 1. Telnet与FTP服务配置及访问限制 在Linux和Windows集成环境中,对于Telnet和FTP服务,配置文件中会有相关设置,如下所示: telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd ftp …

张小明 2025/12/23 14:37:16 网站建设

网站建设公司 跨界鱼科技优企业网站怎么自适应

VancedManager电池优化完整教程:从后台任务到续航翻倍的实战指南 【免费下载链接】VancedManager Vanced Installer 项目地址: https://gitcode.com/gh_mirrors/va/VancedManager 你是否曾为Android设备电池续航不足而烦恼?后台应用的无节制活动正…

张小明 2025/12/23 20:05:28 网站建设

电子商务网站备案网络公司名字怎么取

FaceFusion人脸检测精度达99.2%,究竟用了什么黑科技?在智能安防、刷脸支付、无感通行等场景日益普及的今天,一个看似简单的“人脸是否被准确框出来”问题,背后却牵动着整个系统可用性的命脉。尤其是在夜间低光、人群密集、遮挡严重…

张小明 2025/12/24 15:48:04 网站建设