二分查找的次数
2017-07-31 17:24
183 查看
二分法查找数据比较的次数 ---对数
对于有序数组,使用二分法查找数据比较的次数
范围 需要次数
10 4
100 7
1000 10
10000 14
100000 17
1000000 20
除了对特别小的数组外,二分法查找表现是非常优秀的.
每次对范围加倍可以创建出一个数列,它是2的幂,假设s表示步数,r表示范围,则有
r=2s
当我们知道查找的范围r,求步数s时.就是相当于求某数指数函数的反函数即对数.则公式表示为:
s=log2(r)
如何计算呢,大多数计算器都有log功能,通常是以10为底来求对数,但是通过结果乘以3.322可以转换成以2为底的对数
log10(100)=2;log2(100)=2乘以3.322 = 6.644 四舍五入为7正好是上面数据对照表100对应的7次.
相关文章推荐
- 【Java版本】二分查找&数字在排序数组中出现的次数
- 利用快速排序和二分查找数字出现次数
- 在序列(22,34,55,77,89,93,99,102,120,140)中,采用二分查找,分别查找77,34,99,所需的查找次数分别为()----腾讯2016研发工程师笔试题(一)
- 程序员面试题目总结--数组(二)【二分查找、找出给定数字出现次数、两个有序整型数组交集、找出数组中唯一的重复元素、判断数组中的数值是否连续相邻】
- 九度OJ 1349 数字在排序数组中出现的次数 -- 二分查找
- 【二分查找】在排序数组中,找出给定数字的出现次数 以及二分其他应用
- 二分查找过程、比较次数分析、java实现
- 九度OJ 1349 数字在排序数组中出现的次数 -- 二分查找
- (算法:二分查找)在排序数组中,找出给定数字出现的次数
- 【二叉树】二分查找树,中序遍历,统计出现次数最多的节点【Add to List 501. Find Mode in Binary Search Tree】
- 码农小汪剑指Offer之35-数字在排序数组中出现的次数 暴力 二分查找的运用
- 【递归、二分查找】数字在排序数组中出现的次数
- 二分查找--数字在排序数组中出现的次数
- 剑指Offer--数组在排序数组中出现的次数--二分查找的应用
- 二分查找解决数组中出现数字的次数
- [swustoj 1092] 二分查找的最大次数
- 二分查找——数字在排序数组中出现的次数
- 二分查找的变形,统计数字在排序数组出现的次数
- 剑指offer——面试题38:数字在排序数组中出现的次数(利用二分查找来找第一次和最后一次的位置)
- 二分查找的感悟