package Algorithm.binarysearchnorecursion;public class BinaaySearchNoRecur {public static void main(String[] args) {int arr [] = {1,2,3,4,5};int b = binarySearch(arr, 0);System.out.println(b);}//二分查找的非递归实现public static int binarySearch(int [] arr, int target){int left = 0;int right = arr.length - 1;boolean flag = true;while(left <= right){int mid = (left + right) / 2;if (target == arr[mid]){return mid;}if (target > arr[mid]){left = mid + 1;}else {right = mid - 1;}}return -1;}
}

算法 - 二分查找(非递归实现二分查找)相关推荐

  1. 二分查找非递归方式实现

    思路分析 代码实现 package com.atguigu.binarysearchnorecursion;/*** @创建人 wdl* @创建时间 2021/4/2* @描述*/ public cl ...

  2. 二叉树的创建和遍历(递归和非递归),查找最大值,树的高度

    为什么80%的码农都做不了架构师?>>>    /**  *   链式结构  * @author gao.mq  *  */ public class BuildLinkedTree ...

  3. 一步一步写算法(之非递归排序)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在上面一篇博客当中,我们发现普通查找和排序查找的性能差别很大.作为一个100万的数据,如果使用 ...

  4. 简述树的深度优先及广度优先遍历算法,并说明非递归实现?

    深度优先遍历二叉树. 1. 中序遍历(LDR)的递归算法: 若二叉树为空,则算法结束:否则: 中序遍历根结点的左子树: 访问根结点: 中序遍历根结点的右子树. 2. 前序遍历(DLR)的递归算法: 若 ...

  5. 快速排序非递归算法c语言实现,数据结构与算法----3.5 非递归的快速排序方法

    [c++]代码库#include using namespace std; #include using namespace std; typedef int KeyType; struct LEle ...

  6. 二分查找算法递归和非递归实现

    自己接触和了解过的查找算法总结起来分为3个吧: 1. 静态查找(主要是二分查找,效率较高) 2. 动态查找(二叉查找树) 3. 哈希表 首先来说二分查找吧! 基本思想:假设在一个已经排好序的有序序列( ...

  7. 二分查找算法(非递归)

    1.二分查找算法(非递归)介绍 前面我们讲过了二分查找算法,是使用递归的方式,下面我们讲解二分查找算法的非递归方式 二分查找法只适用于从有序的数列中进行查找(比如数字和字母等),将数列排序后再进行查找 ...

  8. 常用十大算法 非递归二分查找、分治法、动态规划、贪心算法、回溯算法(骑士周游为例)、KMP、最小生成树算法:Prim、Kruskal、最短路径算法:Dijkstra、Floyd。

    十大算法 学完数据结构该学什么?当然是来巩固算法,下面介绍了十中比较常用的算法,希望能帮到大家. 包括:非递归二分查找.分治法.动态规划.贪心算法.回溯算法(骑士周游为例).KMP.最小生成树算法:P ...

  9. 二十一、二分查找算法(递归非递归)

    一.二分查找思路分析 1.首先确定该数组中间的下标 ,即mid=(left+high)/2; 2.然后让需要查找的value值与array[mid]值进行比较 2.1)findVal > arr ...

最新文章

  1. return false
  2. bash给脚本加进度条_进度条——shell脚本实现
  3. 【Struts2复习知识点二十二】- 国际化I18N原理
  4. Android之ScrollView
  5. 使用ie浏览器设置Domain无法使用session的问题解决办法
  6. Tesla对德国政府的审批流程表示受够了
  7. js打开新窗口的两种方式
  8. Zookeeper原理架构
  9. keepalived 邮件通知
  10. SECS/GEM协议开发系列(一)准备工作
  11. MIMO系统模型构建
  12. mysql 用户、数据库、表的基本操作
  13. VMware Workstation 12 Pro 安装 mac最新系统版本10.12.3
  14. IDEA标签栏多行显示设置
  15. 解决MATLAB2018b打开m文件后注释乱码的问题
  16. 「计算机基础」进制转换
  17. Logstash 同步时报illegal_argument_exception:startOffset must be non-....endOffset must be = startOffset
  18. eNSP配置静态路由实例
  19. 黑洞2007自定义协议版本 演示穿越卡巴6和ZA防火墙
  20. 如何查看虚拟机的ip

热门文章

  1. 在output 子句和 scope_identity() 混合使用的时候的注意事项
  2. html和css可以用在ssh里面么,在网站中使用SSH
  3. java jxl 写 excel文件_Java使用jxl写入Excel文件
  4. mysql分布式一致性hash_分布式哈希一致性
  5. python对图片颜色校正_使用Python PIL更改图像色调
  6. 1350B. Orac and Models
  7. 服务器配置和性能,服务器性能配置(硬件)
  8. 深入浅出MFC文档/视图架构之文档模板
  9. 图解WinCE6.0下的内核驱动和用户驱动
  10. android jni release,Android NDK 设置编译模式debug和release