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

网站给我做坏了怎么办百度一下下载

网站给我做坏了怎么办,百度一下下载,上海网站建设 上海网站制作,百度网站审核期时间算法 - 二分查找 今天继续八股文学习,看一下比较常规的几个算法 二分查找是一个基于分治策略的搜索方法,简单的理解就是每次都缩小一轮搜索范围,从中间search一次,直到搜索到结果或者为空为止。 基本思路(设一个有序的…

算法 - 二分查找

今天继续八股文学习,看一下比较常规的几个算法

二分查找是一个基于分治策略的搜索方法,简单的理解就是每次都缩小一轮搜索范围,从中间search一次,直到搜索到结果或者为空为止。

基本思路(设一个有序的数组为nums,需要查询的值是target)

  1. 设置 i = 0,j = n -1。i就是数组开头的第一个索引值,j就是最后一个索引值。
  2. 如果i > j 了,证明查询结束了没有找到结果。
  3. 然后设置一个值为m,这个m就是减少的搜索范围(应该说成是每次拿数组中间的那个值,数组的中间索引),m = (i + j )/ 2 ,有的时候会有小数,所以这个时候需要取整。
  4. 如果target的值小于数组中间的值(也就是索引值是m的值),那就意味着这个值在中间值的左边(数组中间的靠左的位置),所以 j = m - 1,数组的最大值挪到了中间值靠左的位置,然后我们再重复回到第二步继续跑。
  5. 如果target的值大于数组中间的值,意味着这个值在中间值的右边,所以 i = m + 1,数组的最小值挪到了中间值靠右的位置,然后再重复回到第二步继续跑。
  6. 当索引值m = target的时候,就直接return返回查询的结果值。
/*** 二分查找* <p>* 基于分治策略的的高效搜索方法。* <p>* 每轮都缩小一般的搜索范围,直到搜索到结果或者区间的结果为空的时候停止。*/
public class BinarySearch {// 只能用于有序的数组的排序public static void main(String[] args) {int[] nums   = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10};int   target = 11;System.out.println(binarySearch(nums, target));}/*** nums*/public static int binarySearch(int[] nums, int target) {// 第一位的索引值var i = 0;// 最后一位的索引值var j = nums.length - 1;while (i <= j) {// 先拿一个中间点,并且需要取整,因为有时候可能回出现小数点int m = i + (j - i) / 2;// 如果中间值的小于目标值,则往中间值的左边靠if (nums[m] < target) {i = m + 1;} else if (nums[m] > target) { // 如果中间值大于目标值,则往中间值的右边靠j = m - 1;} else {return m;}}// 如果找不到元素返回 -1return -1;}
}

优点

在时间和空间方面都有较好的性能。

二分查找的时间效率高,不需要额外的空间。

局限性

二分查找仅适用于有顺序的数据,如果单独为了跑这个二分查找再进行一次排序就得不偿失了,并且二分查找仅适用于在数组上跑,因为二分查找需要频繁的移动指针,跳跃式访问,链表执行跳跃式访问的效率比较低。当数据量小的时候使用线性查找比二分查找的效率要高。(下一篇写一下线性查找)

http://www.ritt.cn/news/26301.html

相关文章:

  • 网站建设公司利润怎么样邯郸seo营销
  • 营销网站的概念阿里云自助建站
  • 太原专门做网站阿里指数查询官网入口
  • 网站建站报价单百度站长号购买
  • 网站备案号 查询爱站网影院
  • 敦煌做网站的公司电话百度关键词指数
  • 涿鹿做网站wl17581网络营销的发展现状如何
  • 电商网站banner免费的网站推广软件
  • 重庆如何做聚政网站app营销策略都有哪些
  • 自己的网站怎么做商城谷歌搜索入口365
  • 营销网站的优势是什么百度邮箱注册入口
  • 网页游戏网站打不开东莞疫情最新情况
  • 用jsp做的购物网站东莞网站建设推广品众
  • 做电影网站要不要收费产品设计公司
  • 手机网站排名优化软件新媒体运营培训班
  • 团建网站建设国际重大新闻事件10条
  • 崇左北京网站建设如何提高网站排名的方法
  • 怎么建设色情网站成都网站seo推广
  • 网页模版图片哈尔滨优化网站公司
  • 机械加工网免费注册seo编辑的工作内容
  • 做网站赚大钱网站seo优化公司
  • 网站建站授权模板下载seo的中文含义是什么
  • 一个ip可以做几个网站专业做网站建设的公司
  • c做项目的网站搜索引擎链接
  • 深圳 网站制作昆明seo外包
  • 手机端h5网站模板下载成都seo优化
  • 哪个网站可以上传设计的作品自动点击关键词软件
  • 上海seo网站建设查网站是否正规
  • 区块链技术和网站开发结合今日头条新闻推荐
  • c 做网站巨量引擎广告投放平台代理