第二章 :查找与排序-------二分查找的递归解法

最全的2021蓝桥杯算法课《算法很美》的学习笔记总目录+真题详解 本系列是对最全的2021蓝桥杯算法课《算法很美》的笔记总结和归纳 学习视频:算法很美 第一章 1.1课程介绍 阅读详情

二分查找的递归解法

全范围内二分查找:

    等价于三个子问题:

          左边找(递归)

          中间找

          右边找(递归)

/*递归解法*/ 
int binarySearch(int arr[],int low,int high,int key){
	if(low>high) {
		return -1;
	}
	int mid=low+((high-low)>>1);
	int midVal=arr[mid];
	if(midVal<key){
		return binarySearch(arr,mid+1,high,key);
	} 
	else if(midVal>key){
		return binarySearch(arr,low,high-1,key);
	}
	else{
		return mid;  //key found
	}
}

 

RK3588开发笔记-ES8311音频芯片调试记录 本篇博客主要记录如何在RK3588平台试ES8311音频芯片的过程。这包括硬件连接、内核配置、驱动程序调试和测试步骤。通过以上步骤,我们成功在RK3588平台上调试了ES8311音频芯片。这包括硬件连接、内核配置、设备树配置、驱动加载以及音频测试。希望这篇调试记录能为其他开发者提供一些帮助。如果你有任何问题或建议,欢迎留言讨上调论。 阅读详情

相关推荐

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java

PTA 7-8 暴力小学(二年级篇)-求出4个数字 (10分)java 小博是新城小学二年级学生,这孩子人很老实,数学、语文成绩都是中等。不过一旦坐在电脑前,写起代码来,则有些霸气侧漏,尤其擅长各种暴力方法。本题就是数学莫老师的题目之一,请你和小博一起暴力求解吧。 输入格式: 第一行给出这个和N(图中例子的和N为2000)。 输出格式: 第一行输出所有解的数目K,随后K行按照DCBA 4位数字从...

qryzhfj的博客 2192

OJ 1449 【递归】二分查找

描述 上机练习6.3.7 用递归算法实现二分查找,即:有n个已经从小到大排序好的数据(不重复),从键盘输入一个数X,用对半查找方法,判断它是否在这n个数中。 输入 第一行,正整数n,N<=105; 第二行,n个整数(int范围内,不重复),中间用空格分隔; 第三行,整数X。 输出 如果找到X,输出其位置;否则输出-1。 输入样例 1 10 10 20 30 40 50 60 70 80 90 100 90 输出样例 1 9 这题...

JetEcho的博客 1995

小白的MatSWMM使用心路(二)——用matlab修改INP文件参数/使用matlab查找txt内容并修改多行内容

说是修改inp,但是里面的内容大部分还是讲怎么修改txt的……(?)。包含如何找到需要的参数(关键字)位置,以及修改那个位置的txt这样的内容。希望能帮助大家吧……Matlab你要多出好用的功能啊!

weixin_44276743的博客 4530

1775: 【递归】二分查找

题目描述 上机练习6.3.7 用递归算法实现二分查找,即:有n个已经从小到大排序好的数据(不重复),从键盘输入一个数X,用对半查找方法,判断它是否在这n个数中。 输入 第一行,正整数n,N<=105; 第二行,n个整数(int范围内,不重复),中间用空格分隔; 第三行,整数X。 输出 如果找到X,输出其位置;否则输出-1。 样例输入 10 10 20 30 40 50 60 70 80 90 100 90 样例输出 9 来源 基本算法-递归 C++ #include <bits

房东的jian的博客 1617

H3C-V7防火墙配置SSL VPN IP资源典型案例(华三)

H3C-V7防火墙配置SSL VPN IP资源典型案例(华三)

m0_68265458的博客 5170

LangFuse部署与实践

LangFuse的原理主要是基于可观察性和分析技术来监控和优化低延迟消息(LLM)应用。它提供了一套完整的解决方案,通过收集、处理和分析LLM应用在运行过程中产生的各种数据,来生成实时的、深入的、可操作的见解。通过提供实时的、深入的见解和可视化的跟踪功能,LangFuse使得识别和解决应用性能问题变得更加简单和高效。总的来说,LangFuse的原理是通过综合运用可观察性和分析技术,来提供对LLM应用的全面监控和优化能力。这使得开发者和运维团队能够更加高效地管理和维护他们的应用,从而提升用户体验和业务效益。

pumpkin84514的博客 7946

2019年寒假集训-二分专题

问题 A: 【递归】二分查找 题目描述 用递归算法实现二分查找,即:有n个已经从小到大排序好的数据(不重复),从键盘输入一个数X,用对半查找方法,判断它是否在这n个数中。 输入 第一行,正整数n,N<=105; 第二行,n个整数(int范围内,不重复),中间用空格分隔; 第三行,整数X。 输出 如果找到X,输出其位置;否则输出-1。 样例输入 10 10 20 30 4...

算法小猪的博客 923

基于STM32F427的模拟SSI协议绝对式编码器位置反馈通信

基于STM32F427的模拟SSI协议绝对式编码器位置反馈通信

xeke997的博客 6065

M

M Time Limit: 1000ms Memory limit: 65536K有疑问?点这里^_^ 题目描述 给出含有n个数的升序序列,保证序列中的数两两不相等,这n个数编号从1 到n。 然后给出q次询问,每次询问给出一个数x,若x存在于此序列中,则输出其编号,否则输出-1。 输入 单组输入。首先输入一个整数n(1 <= n &&amp...

weixin_30339457的博客 302

DDR5 的 PI: DIMM 上 PMIC,正在制造一批“新型 EMI 问题”

DDR5 的 PI,不再只是“供电设计”,而是一次“噪声管理设计”。电压稳定本地调节高频噪声EMI 风险系统不确定性DDR5 真正难的地方,不是跑起来,而是——在最差条件下,它还能不能一直跑。而 DIMM 上那颗 PMIC,正是你绕不开的关键角色。

weixin_43199439的博客 183

2026年国赛C题微网与外部电网电力调控策略 (三):问题三、问题四滚动预测、实时电价与结果核验

专栏内定期更新ABCDE五题详细思路、代码(含运行结果图)和讲解视频-(11号之前半价):问题三看起来只是多给了一个光伏预报附件,实质上它改变了整道题的信息结构:问题四则是在问题二、问题三之上替换价格来源。问题4-2相当于“确定性计划+实时电价”,问题4-3相当于“滚动预测+实时电价”。物理模型完全不变,改变的是价格序列和费用口径。本文先给出核心结果:从结果看,问题3比问题2多约164.21万元,问题4-3比问题4-2多约168.79万元。主要增量不是“储能没有工作”,而是预测误差、计划偏差和紧急购电造成的

YOLO 344

二分查找排序,用递归法做

二分查找排序,用递归法做 public class BinarySearchTest2 { public static void main(String[] args) { int[] arr = {1, 2, 3, 22,4, 5, 9,8,6,11}; Arrays.sort(arr); System.out.println("排序后:"+Arrays.toString(arr)); int index = binarySearch

weixin_45290168的博客 379

材料仿真软件:Quantum Espresso_(15).声子与振动模式计算

通过上述步骤和代码示例,您应该能够使用 Quantum Espresso 进行声子与振动模式的计算。声子计算是材料科学研究中的重要工具,可以帮助我们更好地理解和设计材料的性能。希望本节内容对您有所帮助。

kkchenjj的博客 1185

算法设计与分析课程学习-第二章:递归与分治策略

由于笔者的这门课突然宣布从考查课成为了考试课,并且老师的讲课水平一般,所以我打算通过写博客的方式自学这本书.虽然笔者有一定算法设计基础,但是这门课所使用的教材的编写方式与我之前学习的常规方式有一定区别,并且晦涩难懂(在我主观上).我打算以书中的例题为基础,以我自己能理解的方式对书中的算法进行阐述.由于精力有限,我只能抽时间去更新STL源码分析的内容. 闲话少说,今天开始这本书的第二章:递归与分治策略. 递归的基本概念 直接或间接调用自己的算法称为递归算法...

qq_51845557的博客 818

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

蓝桥杯《算法很美》第二章 查找与排序C/C++【一】

查找与排序先从讲递归开始。课程列举了很多递归典例,按照理解的难度从简到繁,部分过于简单的就不再赘述了,只写一些有意义的代码。 递归的要点 找变化,找重复,找出口,子问题要与原问题有同样的结构。 【一】 辗转相除法, 又名欧几里德算法(Euclidean algorithm),是求最大公约数的一种方法。它的具体做法是:用较大数除以较小数,再用出现的余数(第一余数)去除除数,再用出现的余数(第...

Show me CODE 404

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

算法设计与分析第二章期末总结

本文主要总结一些常用的算法模板,适用于期末考试。

聆风吟的博客 2625

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Java算法--第二章--查找与排序(3)二分法查找递归方法

Java算法–第二章–查找与排序(3)二分法查找递归方法 全范围的二分查找 等价于三个子问题: 1.左边找(递归) 2.中间比 3.右边找(递归) 注意:前提是所查找的内容必须是有序的,且左边和右边查找只取其中的一个分支 代码: package section02; public class 二分法查找 { public static void main(String[] args) { int[] arr = new int[] { -98, -34, 2, 34, 54, 66, 79, 105

wp_886的博客 183

算法分析与设计-期末复习-第一章+第二章

(1) 输入: 有零个或多个由外部提供的量作为算法的输入。(2) 输出: 算法产生至少一个量作为输出。(3) 确定性: 组成算法的每条指令是清晰的,无歧义的。(4) 有限性: 算法中每条指令执行次数是有限的,执行每条指令的时间也是有限的。

weixin_65169788的博客 948

[珠玑之椟]二分思想与分治法、排序思想

二分查找是《编程珠玑》作者很喜爱的一个话题,之前我曾经专门写了一篇博文:如何写出正确的二分查找?——利用循环不变式理解二分查找及其变体的正确性以及构造方式,在这里将换几个角度,继续探讨二分查找的相关内容,以及与它联系紧密的分治法和排序思想。 目录 二分思想和分治法 在O(n)时间内从数组x[0...n-1]中找出第k个最小的元素 给定一个最多包含40亿个随机排列

萌萌的It人 www.itmmd.com 1144

编程珠玑第二章总结:

[0]:问题A:给出一个顺序文件,它最多包含40亿个随机排列的32位整数。找出一个不在文件中的32位整数。分析:如果内存足够的话,可以采取第一章的位图排序法,以O(n)的效率就可以解决。如果内存不足的话,但是有几个外部文件可以存储数据,那么就可以采用二分查找的思想来解决问题!!!这里的思路比较巧妙,它不是通常意义上的二分查找,但是思维模式很相似.我们可以通过扫描输入文件,将第一位是0的写入一个文件,

pyb的博客 607

二分思想与分治法、排序思想

二分思想与分治法、排序思想二分查找是《编程珠玑》作者很喜爱的一个话题,之前我曾经专门写了一篇博文:如何写出正确的二分查找?——利用循环不变式理解二分查找及其变体的正确性以及构造方式,在这里将换几个角度,继续探讨二分查找的相关内容,以及与它联系紧密的分治法和排序思想。  二分思想和分治法  如果你对概念很敏感,会马上意识到这两者的细微不同:二分搜索每次都要舍弃一半,从留下的一半中寻找目标;而分治法把一

arthur.dy.lee的专栏 1101

《剑指offer学习笔记-第二章:面试需要的基础知识》

面试题对应的答案在我的文章https://mp.youkuaiyun.com/mdeditor/87880918#,答案都是自己编写并通过编译的,可能不是最优的解法,后面慢慢优化。 2.2 编程语言 面试过程中面试官要么直接问语言语法,要么让应聘者编写代码解决一个问题,以此判断对语言掌握程度。 (1) C++ 通常语言面试有三种类型: a. 直接问对C++概念的理解,如对关键字的理解。 b. 面试官拿出准...

HuYingJie_1995的博客 490

【Ruby高频算法题精讲】:从暴力解到最优解的思维跃迁

掌握Ruby面试高频题解法,从暴力破解到最优解的思维跃迁。涵盖数组、字符串等典型场景,详解双指针、哈希表等核心算法技巧,提升编码效率与逻辑深度。适合备战技术面试的开发者,值得收藏。

ProceChat的博客 837
上一篇: 第二章 :查找与排序-------递归经典问题——汉诺塔问题
下一篇: 第二章 :查找与排序-------希尔排序
Estrellas_
博客等级 码龄9年 273粉丝 233原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值