微信php网站开发流程娄底seo

web/2025/9/30 1:13:55/文章来源:
微信php网站开发流程,娄底seo,泰州智搜网络科技有限公司,windows7 花生壳做网站服务器二叉树第k个大的节点 二叉树文章列表#xff1a; 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆#xff08;最大堆#xff0c;最小堆#xff09;实现及原理 数据结构与算法–二叉查找树转顺序排列双向链表 数据…二叉树第k个大的节点 二叉树文章列表 数据结构与算法–面试必问AVL树原理及实现 数据结构与算法–二叉树的深度问题 数据结构与算法–二叉堆最大堆最小堆实现及原理 数据结构与算法–二叉查找树转顺序排列双向链表 数据结构与算法-- 二叉树中和为某一值的路径 数据结构与算法-- 二叉树后续遍历序列校验 数据结构与算法-- 广度优先打印二叉树 数据结构与算法–解决问题的方法- 二叉树的的镜像 数据结构与算法–重建二叉树 数据结构与算法–二叉查找树实现原理 数据结构与算法–二叉树实现原理 数据结构与算法–B树原理及实现 数据结构与算法–数字在排序数组中出现次数 数据结构与算法–死磕二叉树 数据结构与算法–二叉树第k个大的节点 数据结构与算法–求1~n能组成的所有二叉搜索树的排列 之前遇到过多个类型的题型但是都是针对数组这种数据结构如果两篇 数据结构与算法–最小的k个数 数据结构与算法–查找与排序另类用法-旋转数组中的最小数字 其中最小k个数我们用二分法的思路很快得出解还有就是用二叉堆的特性求解在旋转数组中查找最小值直接二分查找完成由上可见二分法在数组中查找第k个大小的数还是很好用的。但是我们此处针对的是二叉排序树二分法可能排不上用处 方法一统计节点法 利用二叉排序数的特性左节点 比 根小 右节点比根大那么需要找第 k 大的,直接统计左右节点个数 如果右边节点个数 rightCount k那么第k 大的必然在右节点如果右节点个数 rightCount k那么有两种情况 当rightCount k 并且rightCount - k 1 此时最大的就是当前根节点如果rightCount k并且rigntCount- k 1 此时那么第 k 大的节点就是左节点的 k - rightCount - 1 个大的节点 我们依次筛选左右节点直到找到k 的具体节点或者父节点将k范围缩小到1或 0 当k 1 就是最右节点当k 0 就是最左节点。我们用如下图实例 情况一正好是root节点情况 情况二在left节点中 情况三在right节点中 经如上分析有如下代码 /*** 二叉搜索树中查找第 k 大的节点** author liaojiamin* Date:Created in 10:18 2021/7/16*/ public class FinMaxKNumberInBinary {public static void main(String[] args) {BinaryNode node new BinaryNode(null, null, null);BinarySearchTree searchTree new BinarySearchTree();Random random new Random();for (int i 0; i 5; i) {node searchTree.insert(random.nextInt(100), node);}searchTree.printTree(node);System.out.println();System.out.println(getMaxKNumber(node, 4).getElement());}/*** 遍历统计在比较*/public static BinaryNode getMaxKNumber(BinaryNode binaryNode, Integer k) {if (binaryNode null || k 0) {return null;}if (k 1) {BinaryNode right binaryNode;while (right.getRight() ! null) {right right.getRight();}return right;}if (k 0) {BinaryNode left binaryNode;while (left.getLeft() ! null) {left left.getLeft();}return left;}BinaryNode baseCount new BinaryNode(null, null, null);baseCount.setCount(0);int rightCount countNode(binaryNode.getRight(), baseCount).getCount();//第k大的在rightif (rightCount k) {return getMaxKNumber(binaryNode.getRight(), k);}//此时root节点是当前第 k大的数据if (k - rightCount 1) {return binaryNode;}//第k大的在leftif (k - rightCount 1) {return getMaxKNumber(binaryNode.getLeft(), k - rightCount - 1);}return null;}public static BinaryNode countNode(BinaryNode binaryNode, BinaryNode baseCount) {if (binaryNode null) {return baseCount;}baseCount.setCount(baseCount.getCount() 1);countNode(binaryNode.getLeft(), baseCount);countNode(binaryNode.getRight(), baseCount);return baseCount;} } 以上实现方案中通过递归不断将 第 k大的节点范围缩小在最后的2个节点中找出我们的值问题在于存在太多重复的遍历如上情况三种当遍历右子树 C的时候其实已经遍历过 GF但是在之后的步骤中还依然需要遍历G F继续缩小范围因此时间效率很低 方法二逆中序遍历 还是利用二叉搜索树的特性我们需要找最大的第 k位置但是在二叉树三种遍历方式中前序中序后续遍历只有中序遍历是按顺序排列二叉搜索树的所有节点但是是小到大的顺序由此我们得到启发 我们利用中序遍历求第k个大的也就是从小到大排列的第 s - k 1 个数据但是此时我们并不知道二叉树的总节点无法得出这个值如果我们反过来遍历中序遍历是 左中右 我们换成 右根左那么直接求第k个位置的遍历到的节点就得到我们的解 因此最简单的遍历查找方式如下 /*** 二叉搜索树中查找第 k 大的节点** author liaojiamin* Date:Created in 10:18 2021/7/16*/ public class FinMaxKNumberInBinary {public static void main(String[] args) {BinaryNode node new BinaryNode(null, null, null);BinarySearchTree searchTree new BinarySearchTree();Random random new Random();for (int i 0; i 5; i) {node searchTree.insert(random.nextInt(100), node);}searchTree.printTree(node);System.out.println();System.out.println(getMaxKNumber(node, 4).getElement());System.out.println(getMaxKNumberOver(node, 4).getElement());}/*** 直接从最大的遍历同时统计遍历节点数当统计到k个则是第k个大*/public static BinaryNode getMaxKNumberOver(BinaryNode binaryNode, Integer k) {if (binaryNode null || k 0) {return null;}BinaryNode baseCount new BinaryNode(null, null, null);baseCount.setCount(0);return printOver(binaryNode, baseCount, k);}/*** 右 中 左方式遍历树与之前树遍历三种都不同*/public static BinaryNode printOver(BinaryNode node, BinaryNode baseCount, Integer k) {if(node null){return baseCount;}baseCount printOver(node.getRight(), baseCount, k);baseCount.setCount(baseCount.getCount() 1);if(baseCount.getCount() k){baseCount node;baseCount.setCount(k);return baseCount;}return printOver(node.getLeft(), baseCount, k);} }上一篇数据结构与算法–再来聊聊数组 下一篇数据结构与算法–求1~n能组成的所有二叉搜索树的排列

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84172.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深圳附近做个商城网站找哪家公司好wordpress网站上线

P1736 创意吃鱼法 题目描述 回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵&#xff0…

想要个免费网站推上网站

目录 一,代理模式和适配器模式区别 二,代理模式 三,特点 四,组成部分和实现步骤 五,案例 六,应用场景 一,代理模式和适配器模式区别 意图:代理模式控制访问并可能添加额外功能…

郑州网站建设维护公司客户网站开发全流程

文章目录 🎍序言🌳加法计算器🚩准备工作🚩约定前后端交互接⼝🌲后端服务器代码的书写 🌴用户登录🚩效果展示🚩准备工作🚩约定前后端交互接⼝🎈需求分析&#…

做网站需要什么图片广州番禺最新通告

谈谈 final、finally、 finalize 有什么不同?final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(o…

黄岩网站开发网站制作的收费

列表滑动性能优化是一个老生常谈的问题,最近在做项目的时候又遇到了列表滑动卡顿的问题,我在经过多次思考和尝试后,终于找到了滑动卡顿的元凶,于是将经验总结下来。ViewHolder先说说最常规的ViewHolder。ViewHolder的出现是为了解…

海南省建设网站的公司深圳网站seo地址

题目 产品数据表: Products 写一段 SQL来查找在 2019-08-16 时全部产品的价格,假设所有产品在修改前的价格都是 10 。 以 任意顺序 返回结果表。 查询结果格式如下例所示。 示例 1: 解题思路 1.题目要求我们查找在 2019-08-16 时全部产品的价格,假设所…

外贸公司访问国外网站网站做优化

问题描述: 农夫John的一头牛逃跑了,他想要将逃跑的牛找回来。现假设农夫John和牛的位置都在一条直线上,农夫John的初始位置为N(0≤N≤100,000),牛的初始位置为K(0≤K≤100,000)。农夫…

网站内链调整专业高端网站设计首选

paramiko模块 介绍: paramiko是一个用于做远程控制的模块,使用该模块可以对远程服务器进行命令或文件操作,值得一说的是,fabric和ansible内部的远程管理就是使用的paramiko来现实。 2. 下载安装 pip3 install paramiko #在pytho…

注册个空壳公司需要多少钱企业网站seo优化公司

GitHub 面对学生推出了学生认证服务,通过认证后就可以得到学生包,学生包大概有十几项优惠,包括 DATADOG Pro 帐户、免费两年的10台服务器,Icons8 3个月的带图标,照片,插图和音乐订阅服务、JETBRAINS 专业桌…

建设监督网站搭建网站的过程

JS文件命名 一般采用的是小驼峰命名法,如 pieChartHelp 第一个单词小写,其他单词首字母大写 Components 文件命名 一般采用的是大驼峰命名法,如PieChart 所有单词的首字母大写 常量命名 一般全部大写,每个单词使用分隔符隔开&…

福田网站建设乐云seo建设网站可以赚钱吗

多功能复合机基于用户认证功能的实现方法 -----网络设备共享案例分析 公司需求:***是一家租售写字楼的服务性企业,主要是针对小型企业进行出租,房间有大有小,大的可以容纳5-10人,小的可以容纳1-4人左右。由于都是一些小…

北京南站地铁wordpress 大神

这里写目录标题 一、LCS 01. 下载插件二、已知一个由数字组成的列表,请将列表中的所有0移到右侧三、实现一个trim()函数,去除字符串首尾的空格(不能使用strip()方法) 一、LCS 01. 下载插件 简单 小扣打算给自己的 VS code 安装使…

提高网站排名软件怎么在搜索引擎里做网站网页

选择题 题目:中国由北而南最大规模的“移民潮”发生在()代。 题目:位于五岭之一的大庾岭道上的粤北南雄(),是移民入粤的重要中转站。 题目:汉代所置的()郡,管辖番禺.博罗…

笋岗网站建设品牌建设包括

世界棒球经典赛(WBC)作为全球最高水平的国家队棒球赛事,参赛队伍按实力、地域和历史表现可分为多个“阵营”。以下是基于历届赛事(截至2023年)的阵营划分及代表性队伍分析: 第一阵营:传统豪强&a…

a市最牛的网站竞争对手网站

近日,Sightful公司推出了一款名为Spacetop G1的革命性笔记本电脑,将AR技术与传统笔记本电脑巧妙融合,打造出令人惊叹的全新办公体验。 全球首款AR电脑上线,可投影100英寸屏幕 不同于传统笔记本电脑依赖物理屏幕显示内容&#xff0…

网站后来功能寻找做网站

jmeter对图片验证码的处理 在web端的登录接口经常会有图片验证码的输入,而且每次登录时图片验证码都是随机的;当通过jmeter做接口登录的时候要对图片验证码进行识别出图片中的字段,然后再登录接口中使用; 通过jmeter对图片验证码…

网站域名空间一年多少钱住宅设计网站推荐

你好,这里是codetrend专栏“跟着GPT学设计模式”。 引言 观察者模式(Observer Pattern)是一种行为型设计模式,它定义了对象之间的一对多依赖关系,使得当一个对象的状态发生改变时,其依赖对象都能够收到通…

网站建设流程笔记网上购物哪个商城好

3、基础类型 3.1、简单变量 变量的命名 carDrip和cardRip 或boat_sport和boats_port 此外,还有有前缀的命名,使用前缀表示数据类型。常见的前缀有:str(表示字符串)、n(表示整数值)、b(表示…

IP怎么屏蔽网站域名网站建设英文术语

1. BERT模型的输出 在BERT模型中,last_hidden_state和pooler_output是两个不同的输出。 (1) last_hidden_state: last_hidden_state是指BERT模型中最后一个隐藏层的隐藏状态。它是一个三维张量,其形状为[batch_size, sequence_length, hidden_size]。其…

网站价格套餐免费注册网站平台

STL 提供了6大组件,彼此之间可以组合套用,这6大组件分别是: 容器,算法,迭代器,仿函数,适配器,空间配置器 简单介绍: 容器:各种数据结构,入vector…