折半查找算法

折半查找(Binary Search)又称为二分查找。 它的前提是线性表中的记录必须是关键码有序(通常从小到大有序),线性表必须采用顺序存储,也就是有序排列。

老师给我们举了一个例子:A同学买了一双鞋420元,A同学让B同学猜一下鞋子的价格,并告诉B同学价格低于500元,那么B同学为了尽快猜出鞋子的价格,就不可能从1,2,3,4,5.......这样慢慢一个一个猜,而是可以猜一个中间价格,250元,然后A同学说猜少了,接着B同学就可以从251到500之间再猜一个数字,这样减少了用时而更快猜出鞋子价格。类似的折半查找算法就是这样原理。

例如用折半查找算法查找{1,2,3,4,5,6,7,8,9,10}中的数字7

写成代码如下:

这里的sz是指arr这个字符集合/数组的元素个数,也可以直接应用strlen函数,当然前面就要加入库函数——#include <string.h>。

很显然它的结果为:

然后下面这个代码大家可以看看,挺有意思的

 其实写博客不仅是给大家分享自己学习到的一些东西(我个人觉得值得注意一下的),知道不全面哈,也是记录一下,也当作是给自己做的笔记啦!

学习的过程很艰辛,但我们也要不负韶华,让以后的自己不会后悔当初的选择!加油吧,陌生人!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值