无限式查找
来源:互联网 发布:淘宝二次元 编辑:程序博客网 时间:2024/04/29 06:35
问题描述:已知一个数组x[],元素个数有多少并不很清楚,但是数组元素已经依顺序从小到大排好,而且在数组最后添加了足够多的MAX记号;MAX表示最大的值,比数组中每一个元素都大,而且个数足够多。编写一个程序,在这个数组中找出某个给定的值。
思路:二分查找法是一个非常高效的算法,但要想使用二分查找法,必须满足2个条件:1.元素是有序的,可以从小到大排列,也可以从大到小排列。2.知道元素集合的上界和下界。本题中元素已经从小到大排列,但是不知道数组的上界。所以,解法如下:
1.最开始,二分查找x[0]和x[1],即查找区域为[0,1)这个左闭右开区间,区间的大小是。此时start=0,end=1。这是认为构造的一个适合二分查找法的区间。
2.如果在之前没有查找到,把start=end,end+=。此时的区间大小是。再进行二分查找。如果还没找到,继续增大区间到,直到找到或到达最大值MAX。
代码很简单,在此就不赘述了。
参考资料:《C语言精选名题百则技巧篇》
如果你觉得我的文章对你有帮助,请推荐一下,非常感谢!
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 无限式查找
- 无限式查找
- 无限式查找(C百例)
- 无限式查找-----2013年2月28日
- 递归无限极查找上级分类
- 无限极分类查找子孙树
- 无限级联动递归查找上级节点
- 无限级分类之查找子孙树
- 无限极分类之查找家谱树
- PHP无限级分类查找父层函数
- 使用标量函数创建无限的查找子部门
- 递归 ---无限极分类中递归查找一个树结构
- 无限级分类之递归查找子孙树
- 无限级分类之递归查找家谱树
- 无限级分类之迭代查找子孙树
- 无限级分类之迭代查找家谱树
- 无限
- 无限
- RESTful客户端库:RestClient
- OpenCV的HOG与SVM
- Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL)
- 三色球问题
- Super Jumping! Jumping! Jumping!(DP)
- 无限式查找
- OpenCV图像中寻找最大区域Max_Area
- Binary Tree Zigzag Level Order Traversal
- 命运(DP)
- 位运算实现加法--2013-06-01
- JavaFX 各种内建built-in布局管理器的使用
- 免费馅饼(DP,类比数塔)
- Java反射基本使用方法 示例
- TopCoder 250 points 16-SRM 151 DIV 2 97.63/250 39.05%