二分查找的迭代算法和递归算法
package org.sxt.c;
/** 二分查找* 迭代方法* 递归方法* */public class BinarySearch {public static int binarySearch0(int[] array,int key) {int low=0;int high=array.length-1;while(low<=high) {int mid=(low+high)/2;if(key==array[mid]) {return mid;}else if(key<array[mid]) {high=mid-1;}else {low=mid+1;}}return -1;}public static int binarySearch(int[] array,int key,int low,int high){if(low>high) {return -1;}int mid= (low+high)/2;if(key==array[mid]) {return mid;}else if(key<array[mid]){return binarySearch(array,key,low,mid-1);}else {return binarySearch(array,key,mid+1,high); }}
}
package org.sxt.test;import java.util.Arrays;import org.sxt.c.BinarySearch;public class TestSelect {public static void main(String[] args) {//1.给出有序数组int array[]= {2,9,15,38,42,48,50,79};//2.输出有序数组System.out.println("当前数组:"+Arrays.toString(array));System.out.println("比如说查找元素42,返回位置:");int result1=BinarySearch.binarySearch0(array, 42);int result2=BinarySearch.binarySearch(array, 42, 0, array.length);System.out.println("迭代查找结果"+result1+"\n"+"递归查找结果"+result2);}}
二分查找的迭代算法和递归算法相关推荐
- lintcode刷题 14. 二分查找,迭代和二分法Python实现
14. 二分查找 描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1. ...
- 【二分查找延伸--实际算法应用】数组类题目
声明:博主是基于labuladong微信公众号文章模板驱动刷题,进行的自我刷题感悟和记录在此. 模板详情见labuladong微信公众号文章文末:原创于自己在此基础上的笔记.感悟.整合其它文献和自己的 ...
- Java实现折半查找(二分查找)的递归和非递归算法
Java二分查找实现,欢迎大家提出交流意见. /** *名称:BinarySearch *功能:实现了折半查找(二分查找)的递归和非递归算法. *说明: * 1.要求所查找的数组已有序,并且其 ...
- 斐波那契数列的迭代算法和递归算法
斐波那契数列 斐波那契数列(Fibonacci sequence),又称"黄金分割数列",因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入, ...
- java二分查找法_java算法之二分查找法的实例详解
java算法之二分查找法的实例详解 原理 假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1.通过数组长度可取出中间位置元素的索引,将其值与 ...
- 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》
文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...
- 七十六、Python | Leetcode二分查找和分治算法系列
@Author:Runsen @Date:2020/7/4 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...
- codeforces 贪心+优先队列_算法基础04-深度优先搜索、广度优先搜索、二分查找、贪心算法...
深度优先搜索DFS.广度优先搜索BFS 比较 拿谚语打比方的话,深度优先搜索可以比作打破砂锅问到底.不撞南墙不回头:广度优先搜索则对应广撒网,多敛鱼 两者没有绝对的优劣之分,只是适用场景不同 当解决方 ...
- python 二分查找_LeetCode基础算法题第120篇:二分查找算法
技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后> 到中级难度,最后到hard难度全部完.目前我选择C语言,Python和Java作为实现语言,因 ...
最新文章
- 1118 实验三 有限自动机的构造与识别
- BUGLY集成升级空指针问题
- 阳泉师范高等专科学校计算机系,阳泉师范高等专科学校
- Xshell5 评估过期,需要采购,不能使用
- 【Mybatis】resultMap继承
- 云原生数据库风起云涌,华为云GaussDB破浪前行
- IT项目 软件研发最佳实践
- 台式计算机打印机共享,只需两步台式和笔记本电脑可共享打印机
- 运行 vue-typescript-admin-template 报错 error Command failed with signal “SIGABRT“. 切换node版本
- 谈谈8583报文的使用及测试
- python是由哪个人创造的文字_秦朝的文字是什么样的?是由谁创造出来的?
- CAD打碎块(网页版)
- 私企招聘:腾讯TME社会招聘
- 51Nod1123 X^A Mod B 数论 中国剩余定理 原根 BSGS
- 论文写作——如图所示
- Monitor(管程)是什么意思?Java中Monitor(管程)的介绍
- 如何在Verizon FIOS路由器上更改Wi-Fi网络名称(SSID)
- Python——飞机大战
- 【年度总结】2021 邂逅前端,入坑算法
- stm32 死区 刹车 pwm
热门文章
- 【工具合集】渗透测试工具库-年度最强合辑
- android使用Alsa Aloop录制系统内部声音
- 达梦dmrman dmap备份报[-7103]:创建命名管道失败
- 开曼丨鞘氨醇-1-磷酸说明书
- Python网络爬虫实战(一)快速入门
- python读matlab.fig_python可视化:matplotlib学习笔记
- 部门来了个拿25k出来的00后测试卷王,老油条表示真干不过,已被...
- 第一台计算机采取了哪位科学家的意见,计算机一级ms office考试上机题
- [JVM]了断局: 说什么也没用,背就完了[必背]
- java版仿拼多多Spring Cloud+SpringBoot+mybatis+uniapp b2b2c o2o 多商家入驻商城 直播带货商城 电子商务 拼团商城源码