二分查找
2016-08-26 09:55
253 查看
二分查找:对已排好序的数组操作
比如这样一个排好序的数组:arr[]={2 , 4, 5 , 7 ,8, 9, 13 ,26 }; 下标从0到7
其主要思想是:每次取中间的数(arr[nMid])与要查找的数(num)比较 nMid=(begin+end)/2 begin是第一个元素下标0 end是最后一个元素下标7 如果num<arr[nMid] 那么num一定在arr[nMid]左边(不包括nMid)
否则在右边 如果在左边让end=nMid-1; 如果在右边begin=nMid+1; 这样下次查找只要去左边或者右边查找就行了 比起从后往前遍历一遍节省时间的多
二分查找失败最多次数[log2N]+1 [ ]用来表示向下取整
比如这样一个排好序的数组:arr[]={2 , 4, 5 , 7 ,8, 9, 13 ,26 }; 下标从0到7
其主要思想是:每次取中间的数(arr[nMid])与要查找的数(num)比较 nMid=(begin+end)/2 begin是第一个元素下标0 end是最后一个元素下标7 如果num<arr[nMid] 那么num一定在arr[nMid]左边(不包括nMid)
否则在右边 如果在左边让end=nMid-1; 如果在右边begin=nMid+1; 这样下次查找只要去左边或者右边查找就行了 比起从后往前遍历一遍节省时间的多
二分查找失败最多次数[log2N]+1 [ ]用来表示向下取整
相关文章推荐
- 二分查找
- 查找算法集:顺序查找、二分查找、插值查找、动态查找(数组实现、链表实现)
- 旋转数组的二分查找
- 二分查找及变种
- C++学习二分查找
- 递归实现二分查找
- 二分查找
- 有序查找算法(二分查找、差值查找、斐波那契查找)
- 插入排序优化:简单插入排序->二分查找插入排序->二路插入排序->shell插入排序
- 二分查找
- 二分查找
- PHP 与 二分查找
- 二分查找
- 查找算法:二分查找、顺序查找
- HDU 1969 Pie(二分查找)
- 算法学习---对象类型的数组二分查找实现
- 二分查找算法
- POJ 3061 Subsequence(二分查找 or 尺取法)
- 【专题总结】二分查找(持续更新)
- 二分查找(对半查找)的实现