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);}}

二分查找的迭代算法和递归算法相关推荐

  1. lintcode刷题 14. 二分查找,迭代和二分法Python实现

    14. 二分查找 描述 给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1. ...

  2. 【二分查找延伸--实际算法应用】数组类题目

    声明:博主是基于labuladong微信公众号文章模板驱动刷题,进行的自我刷题感悟和记录在此. 模板详情见labuladong微信公众号文章文末:原创于自己在此基础上的笔记.感悟.整合其它文献和自己的 ...

  3. Java实现折半查找(二分查找)的递归和非递归算法

    Java二分查找实现,欢迎大家提出交流意见. /** *名称:BinarySearch *功能:实现了折半查找(二分查找)的递归和非递归算法. *说明: *     1.要求所查找的数组已有序,并且其 ...

  4. 斐波那契数列的迭代算法和递归算法

    斐波那契数列 斐波那契数列(Fibonacci sequence),又称"黄金分割数列",因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入, ...

  5. java二分查找法_java算法之二分查找法的实例详解

    java算法之二分查找法的实例详解 原理 假定查找范围为一个有序数组(如升序排列),要从中查找某一元素,如果该元素在此数组中,则返回其索引,否则返回-1.通过数组长度可取出中间位置元素的索引,将其值与 ...

  6. 1.1.10 从二分查找BinarySearch开启算法学习之路---《java算法第四版》

    文章目录 0.前言 1.功能 2.示例 有两个名单tinyW.txt和tinyT.txt,将tinyT.txt名单中不在tinyW.txt的数据打印出来 ① 实现原理 ② 实现代码 ③ 性能分析 0. ...

  7. 七十六、Python | Leetcode二分查找和分治算法系列

    @Author:Runsen @Date:2020/7/4 人生最重要的不是所站的位置,而是内心所朝的方向.只要我在每篇博文中写得自己体会,修炼身心:在每天的不断重复学习中,耐住寂寞,练就真功,不畏艰 ...

  8. codeforces 贪心+优先队列_算法基础04-深度优先搜索、广度优先搜索、二分查找、贪心算法...

    深度优先搜索DFS.广度优先搜索BFS 比较 拿谚语打比方的话,深度优先搜索可以比作打破砂锅问到底.不撞南墙不回头:广度优先搜索则对应广撒网,多敛鱼 两者没有绝对的优劣之分,只是适用场景不同 当解决方 ...

  9. python 二分查找_LeetCode基础算法题第120篇:二分查找算法

    技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后> 到中级难度,最后到hard难度全部完.目前我选择C语言,Python和Java作为实现语言,因 ...

最新文章

  1. 1118 实验三 有限自动机的构造与识别
  2. BUGLY集成升级空指针问题
  3. 阳泉师范高等专科学校计算机系,阳泉师范高等专科学校
  4. Xshell5 评估过期,需要采购,不能使用
  5. 【Mybatis】resultMap继承
  6. 云原生数据库风起云涌,华为云GaussDB破浪前行
  7. IT项目 软件研发最佳实践
  8. 台式计算机打印机共享,只需两步台式和笔记本电脑可共享打印机
  9. 运行 vue-typescript-admin-template 报错 error Command failed with signal “SIGABRT“. 切换node版本
  10. 谈谈8583报文的使用及测试
  11. python是由哪个人创造的文字_秦朝的文字是什么样的?是由谁创造出来的?
  12. CAD打碎块(网页版)
  13. 私企招聘:腾讯TME社会招聘
  14. 51Nod1123 X^A Mod B 数论 中国剩余定理 原根 BSGS
  15. 论文写作——如图所示
  16. Monitor(管程)是什么意思?Java中Monitor(管程)的介绍
  17. 如何在Verizon FIOS路由器上更改Wi-Fi网络名称(SSID)
  18. Python——飞机大战
  19. 【年度总结】2021 邂逅前端,入坑算法
  20. stm32 死区 刹车 pwm

热门文章

  1. 【工具合集】渗透测试工具库-年度最强合辑
  2. android使用Alsa Aloop录制系统内部声音
  3. 达梦dmrman dmap备份报[-7103]:创建命名管道失败
  4. 开曼丨鞘氨醇-1-磷酸说明书
  5. Python网络爬虫实战(一)快速入门
  6. python读matlab.fig_python可视化:matplotlib学习笔记
  7. 部门来了个拿25k出来的00后测试卷王,老油条表示真干不过,已被...
  8. 第一台计算机采取了哪位科学家的意见,计算机一级ms office考试上机题
  9. [JVM]了断局: 说什么也没用,背就完了[必背]
  10. java版仿拼多多Spring Cloud+SpringBoot+mybatis+uniapp b2b2c o2o 多商家入驻商城 直播带货商城 电子商务 拼团商城源码