码迷,mamicode.com
首页 > 其他好文 > 详细

二分搜索法

时间:2018-05-02 16:19:24      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:inf   AC   data-   程序   个数   custom   aik   pad   关系   

二分搜索法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(log n)完成搜索任务。它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的x作比较,如果x=a[n/2]则找到x,算法运算终止。

前提是:有序数组

步骤

给予一个包含n个带值元素的数组A或是记录A0...An?1,使得A0≤ ... ≤An?1,以及目标值T,还有下列用来搜索TA中位置的子程序
  1. L为0,Rn? 1。
  2. 如果L>R,则搜索以失败告终。
  3. m(中间值元素)为“(L+R)?/?2”加上下高斯符号。
  4. 如果Am<T,令Lm+ 1并回到步骤二。
  5. 如果Am>T,令Rm- 1并回到步骤二。
  6. 当Am=T,搜索结束;回传值m
这个迭代步骤会持续通过两个变量追踪搜索的边界。有些实际应用会在算法的最后放入相等比较,让比较循环更快,但平均而言会多一层迭代。
 技术分享图片

二分搜索法

标签:inf   AC   data-   程序   个数   custom   aik   pad   关系   

原文地址:https://www.cnblogs.com/o728/p/8979503.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!