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

做图片网站赚不赚钱将网站源码下载下来如何使用

做图片网站赚不赚钱,将网站源码下载下来如何使用,邢台专业做网站推广,优秀设计案例作品大家好!我又来了,哈哈~今天我要和大家分享一种神奇的算法——二分查找!你可能会问,“二分查找有什么好玩的?”但在我看来它就像一场魔法表演,当你输入一个数,他会在一堆数中快速找到它的位置。找…

        大家好!我又来了,哈哈~今天我要和大家分享一种神奇的算法——二分查找!你可能会问,“二分查找有什么好玩的?”但在我看来它就像一场魔法表演,当你输入一个数,他会在一堆数中快速找到它的位置。找不到他还会告诉你这个数不存在数堆中。当然初学C语言的朋友也不要被它的名字所吓到,接下来我将详细的告诉你二分查找原理,及实现初学C的朋友赶快来学习一波吧!

       我们前边已经学习了循环,在一个数组中查找一个数,我们可以使用循环遍历,直到找到目标数。但在数据较多的时候一直这样循环的去找,就会大大影响程序效率,这时我们就有了引进了新的方法来改变效率低的问题那就是我们今天要讲的二分查找。

二分查找的原理

       举个栗子,假如你一个朋友他买了一双新鞋,你问他多少money,他告诉你不超过1000,那你会怎么猜,从1块,2块,3块……这样的猜吗?这样肯定不合适,那最快的方法就是区间对半的去猜,你说500,他说猜小了,那么这时,区间就减少了一半,你再猜750……就这样一直将区间对半排除的去猜,你就可以在最少的猜测次数内猜到答案。这也就是二分查找的原理。

适用情况

既然二分查找这么厉害,当然它也不是什么情况都能应对的,二分查找只适用于有序的的数据查找(可以是递增,也可以是递减)。

如何实现

我们以及知道了原理,那么要怎样去实现呢?

 

 以上图为例,我们创建3个变量,分别记录数组的最左下标,中间下标,最右下标。初始情况下left下标为0,mid下标为4,right下标为9,假设我们要查找的数字是7;

假设第一次输入5,会收到提示:" 猜小了 ",这时查找区间就减少了一半,左下标left也就变为了mid+1(此时left下标为5),而mid是左下标和右下标之间的中间下标,这时mid就变成了7( (5+9)/7,这里是整除哦)如下图:

假设第二次输入8,收到提示:" 猜大了 ",右下标right也就变成了mid-1(此时right下标为6),mid就变成了5,如下图:

 这时就剩下了两个数

假设第三次输入6,继续收到提示:" 猜小了 ",left就变成了mid+1=6,mid=(6+6)/2=6,最后就只剩下了一个7。

最后输入7,提示:“找到了,下标为6”。

代码实现二分查找的整体思路大概就是以上这样;

代码实现

接下来我们进行代码实现:

#include<stdio.h>
int main()
{int arr[] = { 1,2,3,4,5,6,7,8,9,10 };int k = 7;int sz = sizeof(arr) / sizeof(arr[0]);int right = sz - 1;int left = 0;int flag = 0;while (left <= right) {int mid = (left + right) / 2;if (arr[mid] == k) {printf("找到了,下标是%d",mid);flag++;break;}else if (arr[mid] > k) {right = mid - 1;}else {left = mid + 1;}}if (flag == 0)printf("没找到\n");return 0;
}

好了本期内容到这里就结束了,希望对你所帮助,感谢阅读,我们下期再见!

http://www.yayakq.cn/news/336697/

相关文章:

  • 校园网站开发的需求和分析微信营销方案
  • 上海建网站公司购物网站备案
  • 农产品网站建设需求c2c代表网站
  • 给公司做网站需要什么信息免费网站友情链接
  • 上海网站建设选缘魁-企查网站开发模板教务管理
  • 晋中网站建设公司网站建设品牌策
  • 网站推广有哪些常用的方法360免费建站为什么注册不了
  • 加强和改进校园网站内容建设网站建设与运营 就业
  • php 整个网站变量宁波网站建设熊掌号
  • 新乡专业做网站的公司哪家好中国十大广告公司排名
  • 小型门户网站建设硬件配置国外网站建设模板
  • 建企业网站浩森宇特wordpress 忘记用户名
  • 网站的大量图片存储格式网站建设小程序南宁
  • 西安做网站公司xamokj国外域名注册商排名
  • 网站外链建设书籍丹东制作网站公司
  • ps毕业设计做网站界面godaddy域名买的网站
  • 建设部注册师网站做旅游网站
  • 品牌网站建设 磐石网络的确好微信清粉网站开发
  • 网站品牌建设wordpress 爱范儿主题
  • 南阳市住房和城市建设局网站潍坊建设网站公司电话
  • 太原网站空间微教育云平台网站建设
  • 做网站运营的简历山东软件开发培训机构
  • 网站建设案例简介怎么写哈尔滨网页设计公司
  • 网站打开速度加快怎么做软件工程就业方向和前景
  • 杭州省建设厅网站就业合同模板
  • 罗田网站建设南昌建设局网站查询塔吊证怎么查
  • 怎么自己做导航网站鱼巴适设计师服务平台
  • 商务网站模板上海网站建设公司招聘
  • 前端怎么接私活做网站苏州网站设计网站
  • 网站建设要学会什么软件做网站需求 后期方便优化