Java中如何使用递归实现二分查找
作者:WarmHope
时间:2023-04-27
来源:互联网
浏览:0
1.递归概念程序调用自身的编程技巧称为递归。将大规模的问题变成小规模的问题,问题不变,规模变小。2.两个前提终止条件——当一定条件满足时,函数返回特定值,不再递归调用递归调用——函数调用自身,其输入值更接近终止条件3.二分查找的递归实例/***递归实现二分查找*@paramarr*@paramleft*@paramright*@paramval*@return*/privatestaticintbinarySearch(int[]arr,intleft,intright,intval){if(valarr
1.递归概念
程序调用自身的编程技巧称为递归。将大规模的问题变成小规模的问题,问题不变,规模变小。
2.两个前提
终止条件——当一定条件满足时,函数返回特定值,不再递归调用
递归调用——函数调用自身,其输入值更接近终止条件
3.二分查找的递归实例
/**
* 递归实现二分查找
* @param arr
* @param left
* @param right
* @param val
* @return
*/
private static int binarySearch(int[] arr, int left, int right, int val) {
if (val < arr[left] || val > arr[right] || left > right) {
return -1;
}
int middle = (left + right)/2;
if(val < arr[middle]){
return binarySearch (arr,0,middle-1,val);
}
if(val > arr[middle]){
return binarySearch (arr,middle+1,right,val);
}else{
return middle;
}
}
作者最新文章
思源笔记
2026-09-16 17:42
在线PDF转TXT操作步骤与乱码排查指南
2026-09-04 13:02
PDF加水印后如何检查显示效果?在线工具操作步骤与避坑指南
2026-09-03 13:02
Xshell保持连接不断开及会话文件本地存储路径详解
2026-09-03 06:02
两个PDF怎么合并成一个?在线合并后怎么检查顺序?
2026-09-02 20:00
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















