二分法搜索算法
1.在Binary Search技术中, 我们通过将间隔递归地分成两半来搜索排序数组中的元素。
2.首先, 我们将整个数组作为一个间隔。
3.如果Pivot元素(要搜索的项目)小于间隔中间的项目, 我们将丢弃列表的后半部分, 并通过计算新的中间值来递归地对列表的前半部分重复此过程最后一个元素。
4.如果Pivot元素(要搜索的项目)大于间隔中间的项目, 我们将丢弃列表的前半部分, 并通过计算新的开始和中间元素来递归地处理后半部分。
5.重复检查, 直到找到该值或间隔为空。
分析:
- 输入:大小为n的数组A, 已经按升序或降序排序。
- 输出:分析以搜索大小为n的排序数组中的元素项。
- 逻辑:设T(n)=排序数组中具有n个元素的项的比较数。
- 设置BEG = 1和END = n
- 查找中间=
- 将搜索项与中间项进行比较。
【二分法搜索算法】情况2:item≠A [mid], 那么我们将数组拆分为大小相等的两个部分。
然后再次找到半排序数组的中点, 然后与搜索元素进行比较。
重复相同的过程, 直到找到搜索元素。
T(n)= … … (等式1)
{比较搜索元素与中间元素, 然后与选定数组一半的一半进行比较的时间}
至少只剩下一个术语, 这就是为什么该术语可以比较的原因, 而只能完成一个比较, 这就是为什么
是等式的最后一项, 它将等于1
推荐阅读
- 基于Python构建自定义图形和指标(二)
- Android JNI和NDK学习(09)--JNI实例二 传递类对象
- Android jni 二维数组 传递
- Android JNI 传递对象
- pta|pta L2-002 链表去重 +散列表知识小普及+二进制取反补码运算
- LeetCode|98. 验证二叉搜索树
- 微软Windows8系统的评论二【2015.12】
- 扫描二维码自动识别手机APP下载地址
- 二阶系统的时间响应
- 手机excel怎么搜索