思路分析

代码实现

package com.atguigu.binarysearchnorecursion;/*** @创建人 wdl* @创建时间 2021/4/2* @描述*/
public class BinarySearchNoRecur {public static void main(String[] args) {//测试int[] arr={1,3,8,10,11,67,89};int i = binarySearch(arr,67);System.out.println(i);}//二分查找的非递归实现/**** @param arr 待查找的数组 arr是升序排序* @param target 需要查找的数* @return 返回对应下标,-1表示没有找到*/public static int binarySearch(int[] arr,int target){int left=0;int right=arr.length-1;while (left<=right){//说明继续查找int mid=(left+right)/2;if(arr[mid]==target){return mid;}else if(arr[mid]>target){right=mid-1;//需要向左边查找}else {//需要向右边查找left=mid+1;}}return -1;}}

二分查找非递归方式实现相关推荐

  1. 算法 - 二分查找(非递归实现二分查找)

    package Algorithm.binarysearchnorecursion;public class BinaaySearchNoRecur {public static void main( ...

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

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

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

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

  4. JAVA常用算法一:二分查找【递归 or 非递归】

    文章目录 一.Java实现二分查找[递归] 二.Java实现二分查找[非递归] 三.测试 一.Java实现二分查找[递归] //递归使用二分查找public static int binarySear ...

  5. java非递归方式实现快速排序

    Java非递归方式实现快速排序 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 ...

  6. 二叉树 —— 创建二叉树 先序遍历 、中序遍历、后序遍历(递归方式、非递归方式)

    #include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef char DataType; #de ...

  7. 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(java实现)

    分别用递归和非递归方式实现二叉树先序.中序和后序遍历 用递归和非递归方式,分别按照二叉树先序.中序和后序打印所有的节点.我们约定:先序遍历顺序 为根.左.右;中序遍历顺序为左.根.右;后序遍历顺序为左 ...

  8. 算法练习day10——190328(二叉树的先序、 中序、 后序遍历, 包括递归方式和非递归方式、找到一个节点的后继节点、二叉树的序列化和反序列化)

    1.实现二叉树的先序. 中序. 后序遍历, 包括递归方式和非递归方式 1.1 访问节点的顺序 节点访问顺序如下图所示: 访问顺序:1 2 4 4 4 2 5 5 5 2 1 3 6 6 6 3 7 7 ...

  9. 左神算法:分别用递归和非递归方式实现二叉树先序、中序和后序遍历(Java版)

    本题来自左神<程序员代码面试指南>"分别用递归和非递归方式实现二叉树先序.中序和后序遍历"题目. 题目 用递归和非递归方式,分别按照二叉树先序.中序和后序打印所有的节点 ...

最新文章

  1. 一份贪心算法区间调度问题解法攻略,拿走不谢
  2. vue的插槽slot
  3. CKEditor代码高亮显示插件Code Snippet安装及使用方法
  4. 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1088:分离整数的各个数
  5. 宿舍管理系统部分代码实现
  6. sql 日期类型空值等于 1900-01-01
  7. Linux下如何挂载FAT32格式USB设备
  8. python小技巧积累--题库(持续更新)
  9. 网络连接的net命令
  10. 内核中接收网络帧的处理
  11. Telephone Calls
  12. 计算机专业技能水平如何提升,市计算机:提升技能水平
  13. SAP License:FI学习笔记
  14. centos7 安装Gitlab
  15. 了解编译原理-笔记小结
  16. 李航统计学习方法笔记第一章
  17. 计算机考研数据结构代码题总结--Day01
  18. 计算机组装与维护过程与方法,计算机组装与维护的实训报告
  19. 史上最详细Win10系统装成Win7系统教程
  20. document操作自定义属性

热门文章

  1. HDU 6833 A Very Easy Math Problem
  2. [2020多校A层12.3]虚构推理(语言/二分/数据结构)
  3. Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version) 思维 + 质因子
  4. gym 102875 H. Happy Morse Code
  5. [UVA - 11865]Stream My Contest(最小树形图+朱刘算法)
  6. AT3913-XOR Tree【状压dp】
  7. AT4144-[ARC098D]Donation【Kruskal重构树,dp】
  8. jzoj6065-[NOI2019模拟2019.3.18]One?One!【FFT】
  9. AT1219-歴史の研究(历史研究)【回滚莫队】
  10. P3600-随机数生成器【dp,数学期望】