二分查找非递归方式实现
思路分析
代码实现
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;}}
二分查找非递归方式实现相关推荐
- 算法 - 二分查找(非递归实现二分查找)
package Algorithm.binarysearchnorecursion;public class BinaaySearchNoRecur {public static void main( ...
- 二分查找算法递归和非递归实现
自己接触和了解过的查找算法总结起来分为3个吧: 1. 静态查找(主要是二分查找,效率较高) 2. 动态查找(二叉查找树) 3. 哈希表 首先来说二分查找吧! 基本思想:假设在一个已经排好序的有序序列( ...
- Java实现折半查找(二分查找)的递归和非递归算法
Java二分查找实现,欢迎大家提出交流意见. /** *名称:BinarySearch *功能:实现了折半查找(二分查找)的递归和非递归算法. *说明: * 1.要求所查找的数组已有序,并且其 ...
- JAVA常用算法一:二分查找【递归 or 非递归】
文章目录 一.Java实现二分查找[递归] 二.Java实现二分查找[非递归] 三.测试 一.Java实现二分查找[递归] //递归使用二分查找public static int binarySear ...
- 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 ...
- 二叉树 —— 创建二叉树 先序遍历 、中序遍历、后序遍历(递归方式、非递归方式)
#include<stdio.h> #include<malloc.h> #include<stdlib.h> typedef char DataType; #de ...
- 分别用递归和非递归方式实现二叉树先序、中序和后序遍历(java实现)
分别用递归和非递归方式实现二叉树先序.中序和后序遍历 用递归和非递归方式,分别按照二叉树先序.中序和后序打印所有的节点.我们约定:先序遍历顺序 为根.左.右;中序遍历顺序为左.根.右;后序遍历顺序为左 ...
- 算法练习day10——190328(二叉树的先序、 中序、 后序遍历, 包括递归方式和非递归方式、找到一个节点的后继节点、二叉树的序列化和反序列化)
1.实现二叉树的先序. 中序. 后序遍历, 包括递归方式和非递归方式 1.1 访问节点的顺序 节点访问顺序如下图所示: 访问顺序:1 2 4 4 4 2 5 5 5 2 1 3 6 6 6 3 7 7 ...
- 左神算法:分别用递归和非递归方式实现二叉树先序、中序和后序遍历(Java版)
本题来自左神<程序员代码面试指南>"分别用递归和非递归方式实现二叉树先序.中序和后序遍历"题目. 题目 用递归和非递归方式,分别按照二叉树先序.中序和后序打印所有的节点 ...
最新文章
- 一份贪心算法区间调度问题解法攻略,拿走不谢
- vue的插槽slot
- CKEditor代码高亮显示插件Code Snippet安装及使用方法
- 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1088:分离整数的各个数
- 宿舍管理系统部分代码实现
- sql 日期类型空值等于 1900-01-01
- Linux下如何挂载FAT32格式USB设备
- python小技巧积累--题库(持续更新)
- 网络连接的net命令
- 内核中接收网络帧的处理
- Telephone Calls
- 计算机专业技能水平如何提升,市计算机:提升技能水平
- SAP License:FI学习笔记
- centos7 安装Gitlab
- 了解编译原理-笔记小结
- 李航统计学习方法笔记第一章
- 计算机考研数据结构代码题总结--Day01
- 计算机组装与维护过程与方法,计算机组装与维护的实训报告
- 史上最详细Win10系统装成Win7系统教程
- document操作自定义属性
热门文章
- HDU 6833 A Very Easy Math Problem
- [2020多校A层12.3]虚构推理(语言/二分/数据结构)
- Codeforces Round #601 (Div. 2) E2. Send Boxes to Alice (Hard Version) 思维 + 质因子
- gym 102875 H. Happy Morse Code
- [UVA - 11865]Stream My Contest(最小树形图+朱刘算法)
- AT3913-XOR Tree【状压dp】
- AT4144-[ARC098D]Donation【Kruskal重构树,dp】
- jzoj6065-[NOI2019模拟2019.3.18]One?One!【FFT】
- AT1219-歴史の研究(历史研究)【回滚莫队】
- P3600-随机数生成器【dp,数学期望】