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

网络营销做私活网站今日十大热点新闻事件

网络营销做私活网站,今日十大热点新闻事件,地方政府网站建设中存在的问题,日本做a的动画视频在线观看网站前言 前些天我做了一道题目,题目中要求使用二分查找,我便按照我心中的二分查找,信心满满的提交上去了。结果发现无限循环,后面我便去查阅了资料 二分查找的条件 用于查找的内容需要是有序的查找的数量只能是一个 二分查找的二种方…

前言

前些天我做了一道题目,题目中要求使用二分查找,我便按照我心中的二分查找,信心满满的提交上去了。结果发现无限循环,后面我便去查阅了资料

 二分查找的条件

  1. 用于查找的内容需要是有序的
  2. 查找的数量只能是一个

 二分查找的二种方法

  1.  左闭右闭
  2. 左闭右开

二种用法区别就在于 

  1. while循环中 left 和 right 的关系,到底是 left <= right 还是 left < right
  2. 迭代过程中 middle 和 right 的关系,到底是 right = mid - 1 还是 right = mid

1. 左闭右闭

左闭右闭:每次查找的区间在[left, right],因为定义 target 在[left, right]区间,所以

  1. 循环条件要使用while(left <= right),因为当 left == right 这种情况发生的时候,得到的结果是有意义的
  2. if(arr[mid] > target) , right 要赋值为 mid - 1, 因为当前的 arr[mid] 一定不是 target ,那么接下来需要查找范围就是[left, mid - 1]
int search(int arr[], int size, int target) //size是数组的大小,target是需要查找的值
{int left = 0;int right = size - 1;	  // 定义了target在左闭右闭的区间内,[left, right]while (left <= right)     //当left == right时,区间[left, right]仍然有效{	int mid = left + ((right - left) / 2);//等同于 (left + right) / 2,防止溢出if (arr[mid] > target) {right = mid - 1;	  //target在左区间,所以[left, mid - 1]}else if (arr[mid] < target) {left = mid + 1;	      //target在右区间,所以[mid + 1, right]}else {	//既不在左边,也不在右边,那就是找到答案了return mid;}}//没有找到目标值return -1;
}

 2.左闭右开

左闭右开:每次查找的区间在 [left, right),条件控制应该如下:

  1. 循环条件使用while (left < right)
  2. if (arr[mid] > target), right = mid,因为当前的 arr[middle] 是大于 target 的,不符合条件,不能取到 mid,并且区间的定义是 [left, right),刚好区间上的定义就取不到 right, 所以 right 赋值为 mid。
int search(int arr[], int size, int target) //size是数组的大小,target是需要查找的值
{int left = 0;int right = size;	  while (left < right)     {	int mid = left + ((right - left) / 2);//等同于 (left + right) / 2,防止溢出if (arr[mid] > target) {right = mid;	  //target在左区间,所以[left, mid)}else if (arr[mid] < target) {left = mid + 1;	      //target在右区间,所以[mid + 1, right)}else {	//既不在左边,也不在右边,那就是找到答案了return mid;}}//没有找到目标值return -1;
}

 

这二种方法必须匹配使用循环条件和后续的区间赋值

 

 

 

 

http://www.tj-hxxt.cn/news/23689.html

相关文章:

  • 西安 网站搭建自媒体平台app
  • 网站建设app哪个好用优秀的软文
  • 电子商务网站建设特点微营销平台有哪些
  • 吉林省建设厅证件查询网站网络营销成功案例
  • 免费申请论坛网站迅雷下载磁力天堂
  • 制作动画的软件惠州关键词排名优化
  • 阿里巴巴网站如何做固定背景考研培训机构排名
  • 绍兴 网站制作今日的新闻
  • 路由器做网站终端荆门今日头条新闻发布
  • wordpress 导航栏插件潍坊网站建设seo
  • 动态网站模板免费下载seo软文是什么
  • 平板电脑可以做网站吗找索引擎seo
  • 网站建设制作细节东莞网站推广哪里找
  • 苏州做网站公司选苏州聚尚网络关键少数
  • 重庆哪里可以做网站的长春网站排名提升
  • 义乌网站建设现状免费影视软件靠什么赚钱
  • 怎么在手机上做企业网站网站建立具体步骤是
  • 怎样做网站推销产品微信视频号可以推广吗
  • 网站注入木马sem竞价代运营公司
  • 做问卷调查赚钱好的21个网站各地疫情最新消息
  • 武汉做网站的价格专业搜索引擎seo服务
  • 移动互联网的主要特点hyein seo是什么牌子
  • 网站建设培训班学费刷关键词要刷大词吗
  • 开发公司维保期内维修流程谷歌seo网络公司
  • 团队网站源码关系网站优化公司
  • 手机端网站建站流程深圳网络营销推广
  • 北京网站建设优化网络推广优化seo
  • 购物系统搜索引擎优化的含义
  • 美国建设工程标准下载网站河南省最新通知
  • mvc5 网站开发之学 pdf千万别在百度上搜别人名字