网站如何做导航项目推广方案

张小明 2026/1/10 6:00:25
网站如何做导航,项目推广方案,wordpress 电影下载站,公众号怎么做文章一、二叉排序树概述二叉排序树是一种特殊的二叉树#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进行投诉反馈,一经查实,立即删除!

手机网站北京专业网站建设套餐

目录已开发项目效果实现截图开发技术系统开发工具:核心代码参考示例1.建立用户稀疏矩阵,用于用户相似度计算【相似度矩阵】2.计算目标用户与其他用户的相似度系统测试总结源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式&…

张小明 2025/12/31 15:47:48 网站建设

杭州培训网站建设自己怎么做网站购买空间

企业级大模型推理解决方案:基于vLLM的高性能部署实践 在当今AI应用快速落地的浪潮中,企业对大语言模型(LLMs)的需求早已从“能用”转向“好用、快用、低成本用”。无论是智能客服中的实时问答,还是内容生成平台上的批量…

张小明 2025/12/25 11:18:37 网站建设

全球十大软件公司排名广州做seo公司

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 实现一个多功能JS Proxy应用集合,包含:1. 智能表单验证器(自动校验输入格式)2. REST API封装层(自动处理请求/响应&#…

张小明 2025/12/25 13:20:45 网站建设

做网站首页看不到图片活动策划方案详细模板

在数字技术飞速发展的今天,软件已成为社会运转的核心引擎,从金融交易到医疗保健,再到日常通讯,软件无处不在。作为软件质量的守护者,软件测试从业者肩负着确保产品安全、稳定和可靠的重任。本文基于2025年12月19日的行…

张小明 2026/1/9 0:11:46 网站建设

同城购物网站建设成本湖南做网站的公司排名

在当今数字化办公环境中,Word文档生成一直是Web开发中的痛点。传统方案依赖服务器端处理,导致响应延迟、服务器压力大、用户体验差。DOCX.js作为纯前端JavaScript库,彻底改变了这一现状,让浏览器直接生成专业级Word文档成为现实。…

张小明 2026/1/3 16:18:53 网站建设

app 网站 比较主流网站建设

学习原因最近几天在研究BurpSuite官方的TOP10靶场,发现里面不仅仅包含了MySQL数据库的注入,还包含了其它数据库的SQL注入。对于MySQL数据库而言,相关的文章和教程可谓“百花齐放”。但Oracle数据库的注入,并且讲的相对于TOP10入门…

张小明 2025/12/25 7:45:39 网站建设