二分算法的一些思考

Posted joeylee97

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分算法的一些思考相关的知识,希望对你有一定的参考价值。

二分算法的思想:

通过不断减小问题规模,从边界条件出发求解问题。(通常是单调性问题,判定形式较为简单)

二分算法的优点:

1.把n的时间复杂度优化到logn

2.将一个问题转化为判定性质问题求解

代码:

while(l<=r)

{

  if(check(mid)
  {

    ans = mid;

    r = mid-1;

  }

  else

    ans = mid+1;

}

例题:

block towers

n个人选择n个不同2的倍数的数,m个人选择m个3的倍数的数,选择的最大数字最小!

 

以上是关于二分算法的一些思考的主要内容,如果未能解决你的问题,请参考以下文章

[一些基础算法的小心得] -- 二分搜索算法

二分查找无废话版总结

抽签问题的思考(二分算法)

二分查找边界条件一些思考

关于二分查找的一些思考

聊聊算法——二分查找算法深度分析