【算法】二分查找——与答案进行比较的思维
来源:互联网 发布:软件测试计划的目的 编辑:程序博客网 时间:2024/06/06 18:11
二分查找不算是一种算法
我认为其更偏向为一种思想
核心代码
while(l<=r) { mid=(l+r)/2; if(judge(mid)) { r=mid-1; } else l=mid+1; }
优点
使正常搜索的O(n)复杂度降为O(logn)
要求
所要查找的目标数据必须为有序的
说明
二分查找是通过不断缩小解可能存在的范围,从而求得问题最优解的方法。在学习与竞赛中,可以经常见到二分思想与其它算法结合的题目。
用处
搜索有序数组中的某数
可以通过二分查找搜索数组中
1.有无某数
2.某数的位置
求出方程在误差范围内的解
通过不断二分缩小解的范围
最大化最小值
最小化平均值
因为这种问题可以方便的比较
给定一数与正确解的相对大小
所以即使不知道解具体是什么
但可以通过比较缩小解的范围
参考文章:
《挑战程序设计竞赛》
百度百科
0 0
- 【算法】二分查找——与答案进行比较的思维
- 数据结构与算法 —— 二分查找的递归方式
- 数据结构与算法——二分查找算法
- 查找算法的实现——二分查找
- Java对查找算法的实现—二分查找(二)
- 经典的查找算法1—二分查找
- 查找算法之——二分查找
- C查找算法——二分查找
- 算法——查找之二分查找
- 常见查找算法之—二分查找
- 几种查找算法总结与比较—顺序查找、有序查找、散列表查找
- 几种二分查找算法的代码和比较
- 数据结构与算法分析——二分查找
- 数据结构与算法——二分查找(C语言)
- 顺序查找与二分查找的算法实现
- 算法——二分查找算法
- 算法之—二分查找算法
- 数据结构与算法专题之查找与排序——静态查找(顺序、二分、哈希)
- POJ-1679 The Unique MST
- 策略模式
- backup incremental level 1 database
- php 防注入的一些总结
- [Err] 1093 - You can't specify target table 'table' for update in FROM clause处理
- 【算法】二分查找——与答案进行比较的思维
- 网易实习生笔试编程题 二叉树
- 配置机房数据库
- RxJava入门——概念篇
- 百度移动统计的使用
- linux中动态库和静态库
- ARC修饰符----__unsafe_unretained修饰符
- JavaMail(2)邮件发送和接收
- 【数据结构与算法】复杂度度量与分析