首页 > 其他 > 详细

【算法-查找之二】二分查找

时间:2014-04-16 12:16:25      阅读:326      评论:0      收藏:0      [点我收藏+]

算法-查找之二二分查找


          顺序查找【算法-查找之一】顺序查找是最简单的查找策略,易于分析,适用于小规模数据。如果数据规模很大时,顺序查找的表现就不尽人意,此时需要寻找一个更有效率的算法-二分查找
          二分查找,也称折半查找,查找性能优异,但查找数据必须是有序序列。
          1.顺序查找    
            核心先确定待查目标所在的范围,然后逐步缩小范围直到查找成功或查找失败
            关键字key与表中某一元素Array[i]比较,有3中结果:
            1.key==Array[i],查找成功。
            2.key > Array[i],待查元素可能的范围是Array[i]之前。
            3.key < Array[i],待查元素可能的范围是Array[i]之后
            二分查找基于上述的原理:每次将可能范围中间位置的数与key比较,相等则放回查找成功,不等则缩小范围。如下图
           关键字与当前范围中间位置元素比较:
       bubuko.com,布布扣
            关键字>中间位置元素,则缩小后的范围:中间元素右边
  bubuko.com,布布扣
            通过不断地缩小查找范围,知道查找成功,或者返回查找失败。
bubuko.com,布布扣
 示例 程序如下:       
          2.时间复杂度
          二分查找的时间复杂度为 log2(N)。
          3.二分查找的评估
          二分查找的效率较高,但要求序列有序。序列排序本身就是一种高代价操作,往有序序列内插入和删除数据都比较困难。因此,二分查找特别适合于很少改动,但需要经常查找的表

【算法-查找之二】二分查找,布布扣,bubuko.com

【算法-查找之二】二分查找

原文:http://blog.csdn.net/lovecodeless/article/details/23736189

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!