目录
我们常常需要对数据进行查找,修改,查找数据有许多方法,我们先看看最简单的顺序查找
int main()
{
int i, k = 0;
scanf("%d", &k);
int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sz = sizeof(arr) / sizeof(arr[0]);
for (i = 0; i < sz; i++)
{
if (arr[i] == k)
{
printf("找到了,它是%d", arr[i]);
}
}
return 0;
}
顺序查找绝大多数情况有效但是由于它是一个一个元素进行查找,其效率很低,只有一个for循环所有其时间复杂度为O(n)。我们希望有一个更高效的查找方法,接下来便是二分查找,先来看看一个顺序查找和二分查找的直观比较。
从上面的图中我们感受到二分查找的关键:找到最左边元素(low)和最右边元素(high),确定中间元素(mid),比较中间元素(mid)和目标元素(k)的大小,调整low和high,再确定新的mid....我们要不断确定mid直到找到k,自然需要用到循环,我们有明确的目标:找到k。因此选择while循环,找到k后循环不再进行,而当low和high之间还有元素,即low在high的左边或与之重合,k就依然可能存在,所以循环条件为low<=high,接下来的问题在于怎样调整low和high的值,mid和k比较无非就三种情况:mid<k,mid>k,mid=k。第一种情况,k在mid的右边,我们将low调整为mid+1,high不用调整;第二种情况,k在mid的左边,我们将high调整为mid-1,low不用调整。最后一种情况最简单,我们已经找到了k,直接将mid打印出来就行了,代码如下:
#include <stdio.h>
int main()
{
int k = 0;
scanf("%d", &k);
int arr[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sz = sizeof(arr) / sizeof (arr[0]);
int low = 0;
int high = sz-1;
while (low <= high)
{
int mid = (low + high) / 2;
if (arr[mid] > k)
{
high = mid - 1;
}
else if (arr[mid] < k)
{
low = mid + 1;
}
else
{
printf("找到了,它是:%d", arr[a]);
break;
}
}
if (l>r)
printf("没找到,请重新输入");
return 0;
}
二分查找的时间复杂度的问题:总共有n个元素,每次查找的区间大小就是n,n/2,n/4,…,n/2^k(接下来操作元素的剩余个数),其中k就是循环的次数。由于n/2^k取整后>=1,即令n/2^k=1,可得k=log2n,(是以2为底,n的对数),所以时间复杂度可以表示O(logn),确实比顺序查找快不少,但是二分查找有一个较大的局限性:只能查找有序数组的元素,即组数字必须是升序或降序。
总结
本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注的更多内容!
相关推荐:
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决连接问题!,ai制作艺术字
SEO新手必看:从零开始SEO优化的终极指南,随州网站优化技巧
AI自动读文:让阅读更轻松、更高效的智能革命,寄ai空
SEO针对中小企业的增长潜力:如何通过精准优化抢占市场先机,网络推广和营销就选y火10星评价
Bing无法使用怎么办?解决方法及替代方案推荐!,ai文字设计教程
seo需要做些什么,做seo的 ,超级ai地图
SEO优化如何为网站做好关键词研究和优化,ai直通
SEO深度解析:如何通过深度优化提升网站排名,带来流量和转化,咸宁网站建设大概费用
seO经理是什么岗位,seo经理招聘 ,ai写作重复被查
怎样利用AI写文章,轻松提升写作效率
AI缩短短文-提升创作效率,写作新体验,光速写作业ai写作app
AI文章比对技术:引领写作与内容审核的新革命,ai智能写作小说免费
ChatGDP人工智能:未来科技赋能企业与个人的智能变革,如何用AI绘制人体
AI写作技巧,让创作事半功倍!
为什么新手做seo好做,为什么要懂seo ,ai少女 3060显卡
AI公众号文章生成,轻松打造爆款内容
SEO售产-数字营销新战场,助力企业实现盈利增长,去哪找自贡网站建设
什么是seo艺术,什么是seo seo有何价值 ,ai写作生成器 推荐
ChatGPT桌面版无法加载?快速解决方案及常见问题解析,ai媚眼
ChatGPT打不开了吗?如何快速解决常见问题,恢复顺畅体验!,ai13212511845
SEO做法-提升网站流量与排名的关键秘诀,屏东网站推广招聘
未来的效率利器AI软件下载AI,助您轻松驾驭智能世界
代哥SEO-让您的网站迅速登顶搜索引擎的秘密武器,济南关键词的排名优化
ChatGPT昨晚突然不能使用,背后真相令人意想不到!,edga ai
用AI生成的文章算原创吗?深度解析AI写作背后的秘密
优化页面-提升用户体验与搜索引擎排名的关键,绍兴视频营销推广
AI缩写文档:革新文档管理与自动化的未来,ai聊天中文
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
SEO功能:助力网站流量提升与品牌曝光,天津公司网站建设与维护
AI撰写工具的无限可能,让内容创作更高效、更精彩!
SEO快速优化技术:助力网站流量暴增,轻松登顶搜索引擎,铜陵ai全网通推广软件
OpenAIGPT:开启智能时代的语言革命,ai辣妹动漫
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
高效创作之路:文章AI生成器的力量
ChatGPT与讯飞:AI语音与智能对话的完美融合,ai直角变圆角
ChatGPT显示“此网站无法加载站点”:背后原因与解决办法详解,用ai画明度渐变条
seo需要什么部门,seo主要干什么 ,ai接入仪器
SEO可以帮助网站在搜索引擎中获得较高的排名-助力企业数字化转型的关键,赵立新AI换脸图片对比
怎么用AI生成文章免费版,高效创作从此开始!
SEO本站:提升网站流量与排名的秘密武器,荆门专业的抖音seo
SEO公司核心业务是什么?揭秘提升网站排名的奥秘,写作助手ai一键生成作文在线
AI免费文章解读:智能写作新篇章,小店AI
什么是seo行业,seo是什么职业做什么的 ,ai标题字体效果
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
SEO开发:数字营销的核心驱动力,园区网站建设
WPQQ-开启数字时代的智能连接新纪元,杭州网站推广厂家电话
SEO优化排名原理解析:如何提高网站排名,实现精准流量获取,奥迪ai售价
360刷排名工具选哪家?揭秘2025年最强排名优化工具!,ai写作网站哪个好一点
SEO检测,让网站排名飞升的秘密武器,高端快消食品营销推广
360AI写作怎样?助力创作的新风尚,ai到访