美文网首页
二分查找

二分查找

作者: 荔枝葡萄干 | 来源:发表于2018-09-10 10:33 被阅读0次

    二分查找是我接触的第一个算法。 

    但是其实我们最早接触的关于二分查找就是那个猜数字的游戏。 

    也就是,生成一百以内的随机数,给n次机会猜。 

    想必大家都知道一定是每次一半一半的猜才能快。 

    二分法原理不难,优点是查找次数少,速度快,性能好。 

    缺点则是要求必须是有序表。

    下面直接上模板代码: 

    (截图是为了不希望直接复制粘贴..还是要自己敲比较好…虽然二分是最简单的算法,但是自己敲的习惯还是要有…以后复杂的算法每个人的模板都不一样,还是要自己探索适合自己的…orz)

    给一个暑假集训的例题。

    HDU-2199 

    http://acm.hdu.edu.cn/showproblem.php?pid=2199

    ac代码:

    可以说是模板题了。

    再可以做一个修路的题。 

    csu-1023 

    http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1023

    ac代码:

    另外算是两个小技巧吧: 

    1.对于middle比较稳妥的定义是  

    middle=left+(right-left)/2;

    2.STL二分查找函数 

    binary_search(a,a+n,num) 

    a是数组。num是要查找的数,比较简单就不赘述了。

    //纪念一下我第一个接触的算法。算法确实很难,很烧脑。但是坚持下去,慢慢对着模板刷题,早晚会有那么一瞬间突然就都明白了。我觉得一天能学一个算法就很好。万事开头难,加油。

    //这一生,总要为你爱的人拼一次

    相关文章

      网友评论

          本文标题:二分查找

          本文链接:https://www.haomeiwen.com/subject/osojgftx.html