当前位置: 首页 > news >正文

做网站的有什么软件百度文库官网登录入口

做网站的有什么软件,百度文库官网登录入口,flash 好的网站,免费招聘模板下载这次不排序了,对排好序的数组做个查找吧 介绍 二分查找排序英文名为BinarySort,是一种效率较高的查找方法要求线性表必须采用顺序存储结构 基本思路 通过不断地将搜索范围缩小一半来找到目标元素: 1、假定数组为arr,需要查找的…
  • 这次不排序了,对排好序的数组做个查找吧

介绍

  • 二分查找排序英文名为BinarySort,是一种效率较高的查找方法
  • 要求线性表必须采用顺序存储结构

基本思路

  • 通过不断地将搜索范围缩小一半来找到目标元素:
    • 1、假定数组为arr,需要查找的值为target
    • 2、定义left、right 和mid三个索引。mid=(left+right)/2;
    • 3、如果中间元素正好是要查找的元素,搜索结束;
      ( 即arr[mid]==target,结束)
    • 4、如果目标元素大于中间元素,那么在数组的右半部分继续查找
      ( 即arr[mid]>target,循环或者递归右半部分)
    • 5、如果目标元素小于中间元素,那么在数组的左半部分继续查找
      ( 即arr[mid]<target,循环或者递归左半部分)
    • 6、重复以上步骤,直到找到目标元素或者搜索范围为空(找不到目标值)

代码

  • 循环方法

    public static void main(String[] args) {int[] arr = {1,10, 20, 30, 40, 50, 60, 70, 80, 90};sort(arr,60);sort(arr,45);sort(arr,1);
    }public static int sort(int[] arr,int target){int left = 0;int right = arr.length-1;while(left<=right){ // 此处=是为了当索引移动后只剩一个时,也需要比较int mid = (left+right)/2; // 放在while循环外边就成了固定值了if(arr[mid]==target){System.out.println("找到了!");return mid;}else if(arr[mid]<target){ // 目标值比中间值大,要往右边查找left = mid+1;}else{    // 目标值比中间值小,要往左边查找right = mid-1;}}System.out.println("没有该数值");return -1;
    }
    ------------输出结果--------------
    找到了【60】,位置是:6
    数值【45】不存在
    找到了【1】,位置是:0
    
  • 递归方法

    public static void main(String[] args) {int[] arr = {1,10, 20, 30, 40, 50, 60, 70, 80, 90};digui(arr,60,0,arr.length-1);digui(arr,45,0,arr.length-1);digui(arr,1,0,arr.length-1);
    }
    public static int digui(int[] arr,int target,int left,int right){if(left>right){System.out.println("不存在该数值");return -1;}int mid = (left+right)/2;if(arr[mid]==target){System.out.println("找到了!");return mid;}else if(arr[mid]>target){ // 目标值比中间值小return digui(arr,target,left,mid-1);}else{return digui(arr,target,mid+1,right);}
    }
    ------------输出结果--------------
    找到了【60】,位置是:6
    数值【45】不存在
    找到了【1】,位置是:0
    

老规矩,来个流程图

  • 希望这三张图能帮忙大家理解为什么left<=right
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

时间复杂度

  • 最好情况是O(1),即一下就找到了
  • 平均是O(logN)
http://www.dt0577.cn/news/42460.html

相关文章:

  • 做外国独立网站广州网站排名推广
  • 微信开放平台 网站开发互联网平台
  • 一款蛋糕食品类企业手机网站源码智推教育seo课程
  • 做网站工资待遇如何抖音搜索排名
  • 做网站用什么团建河南网站排名优化
  • 烟台外贸网站建设公司关键词排名优化公司地址
  • 360免费建站pomhub惠州seo按天计费
  • 网站备案流程公安长沙专业网络推广公司
  • 公司电脑为什么有的网站打不开关键词seo排名怎么样
  • 调用其他网站php页面江阴百度推广公司
  • 免费开源建站教学网站厦门关键词优化网站
  • 大气腐蚀网站建设想做推广哪个平台好
  • 全国人大网站建设规划昭通网站seo
  • 北京棋森建设有限公司网站百度手机导航官方新版
  • 网站建设调研报告五八精准恶意点击软件
  • 新疆做网站哪家公司好注册推广赚钱一个40元
  • 企业网站网络推广湖南省人民政府
  • 网站制作论文答辩广州百度seo
  • 河池市建设与规划委员会网站东莞网络营销全网推广
  • 小型营销企业网站建设策划郑州seo外包
  • 通州专业网站制作seo是什么专业
  • 女子医院网站优化公司个人怎么接外贸订单
  • 保险代理人做网站免费注册网站
  • 设计类相关网站seo代做
  • 购物网站首页设计百度推广落地页
  • 网站建设可以作为无形资产吗玄幻小说百度风云榜
  • 做网站的基本功文明seo技术教程网
  • 酒店 深圳 网站建设百度客服电话24小时客服电话
  • 做网站设计软件网址导航浏览器下载
  • 大渡口集团网站建设seo最好的工具