算法分析

二分查找

package 算法实验;
import java.util.*;public class t1 {public static void main(String[] args) {int[] a={2,7,9,12,17,20,26,29,31,32,33,43,45};Scanner sc=new Scanner(System.in);System.out.println("请输入要搜索的数:");int x=sc.nextInt();int bin=Binary(a,x,a.length-1);System.out.println("该值的下标为:");System.out.println(bin);}private static int Binary(int[] a, int x, int i) {int left=0;int right=i-1;while (left<=right) {int mid=(left+right)/2;if(x==a[mid])return mid;if(x>a[mid])return mid+1;elsereturn mid-1;}return 0;}
}

java二分查找分治法相关推荐

  1. 二分法和分治法概念区别--记录

    1.二分法和分治法的概念区别: 二分搜索每次都要舍弃一半,从留下的一半中寻找目标:而分治法把一个大问题分成两个或多个小问题,递归地求这些小问题的解,最后再把它们小心谨慎的合并起来,并且要仔细考虑合并时 ...

  2. Java实现利用分治法找到数组中的最大最小元素

    Java实现利用分治法找到数组中的最大最小元素 基本思路: 不断的寻找数组的左子数组和右子数组,当左子数组和右子数组的长度为1时,最大最小元素均为本身,当左子数组和右子数组的长度为2时,直接进行一次比 ...

  3. Leetcode 240 Search a 2D Matrix II (二分法和分治法解决有序二维数组查找)

    1.问题描述 写一个高效的算法,从一个 m×n m\times n的整数矩阵中查找出给定的值,矩阵具有如下特点: 每一行从左到右递增. 每一列从上到下递增. 2. 方法与思路 2.1 二分查找法 根据 ...

  4. java二分查找法视频_078-二分查找算法思路图解

    2.网上数据结构和算法的课程不少,但存在两个问题: 1)授课方式单一,大多是照着代码念一遍,数据结构和算法本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了 2) ...

  5. java 二分查找_计算机入门必备算法——二分查找法

    1.引言 笔者对于计算机的研究一直停滞不前,近期想对一些算法进行复习和进一步的研究,每天都会更新一个新的算法,算法有难有易,层层递进.不希望能学的有多么高深,只希望在一些最基本的算法上有编码的思路,或 ...

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

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

  7. 学习练习 java 二分查找法

    1 package com.hanqi; 2 3 import java.util.*; 4 5 public class Test5 { 6 7 public static void main(St ...

  8. java 二分查找_Java数组之Arrays方法

    Java数组之Arrays方法,拉勾IT课小编为大家分析,JAVA数组的一些方法,提升开发水平,增强技术开发水平,不断提升个人的技术能力,在对于java开发领域,很多人都从基础做起. 1. 数组的工具 ...

  9. Java 二分查找算法及效率比较

    1.前提:二分查找的前提是需要查找的数组必须是已排序的,我们这里的实现默认为升序 2.原理:将数组分为三部分,依次是中值(所谓的中值就是数组中间位置的那个值)前,中值,中值后:将要查找的值和数组的中值 ...

  10. java二分查找(含二分查找代码)

    目录 一:二分查找的条件 二:二分查找思想​​​​​​​ 三:二分查找代码(循环) 四:二分查找代码(递归) 一:二分查找的条件 1.1 必须是顺序存储结构 1.2 必须有序序列 二:二分查找思想 当 ...

最新文章

  1. C#中获取程序当前路径的集中方法
  2. python行为识别_牛!Python 也能实现图像姿态识别溺水行为了
  3. pyton中的self具体含义,加self与不加self有什么区别?
  4. 5年程序员生涯,使用的最频繁的Git 命令总结
  5. 精通CSS+DIV网页样式与布局——CSS文字效果
  6. 编译内核,busybox,dropbear组装linux小系统
  7. Spring_Bean的作用域---和使用外部属性文件
  8. linux——select、poll、epoll
  9. Confluence5.8部分空间名称显示为问号的解决方案
  10. wpf 开发 -TextBox背景自定义-Decorator
  11. RapidMiner介绍与实践(一)决策树
  12. vs2015安装vax助手
  13. 浅谈前端开发过程中使用的代理方法
  14. 网站站长统计代码说明与配置
  15. 无线桥接dhcp服务器不启动,TP-Link路由器桥接提示“获取IP地址失败,请检查DHCP是否开启...
  16. 陈 好 性 感 写 真 ,难得一见哦[贴图]
  17. Vue 前后端交互基础
  18. java 解决倒水问题
  19. 网络操作系统之对等式局域网
  20. 在线文档webOffice控件使用心得

热门文章

  1. GoLand tool tips
  2. Python游戏编程(Pygame)
  3. 《算法图解》高清PDF版
  4. geoda权重矩阵导入matlab,geoda 导入空间权重矩阵怎么做
  5. java 影院订票系统 影院售票系统 在线电影订票平台 jsp ssm
  6. 正龙广告借接入平台实现财务集中管理
  7. MIT Scheme编译scm文件
  8. guile学习(一)guile载入scm文件--2021年10月21日
  9. windows游戏编程:球球大作战(吃鸡版)源码
  10. Android项目之电话黑名单