基础算法-二分查找
2015-03-10 09:20
357 查看
前提条件:变化较小的升序数组
时间复杂度:log(n)
基本思想:将数组的中间值与目标值进行比对,如果mid大于目 标值,则在左半边进行第二次查找,如果mid小于目标值,在右半边进行查找。
代码:
时间复杂度:log(n)
基本思想:将数组的中间值与目标值进行比对,如果mid大于目 标值,则在左半边进行第二次查找,如果mid小于目标值,在右半边进行查找。
代码:
int bsearch(int num[], int start, int end, int target) { int left=start; int right=end; int mid; while(left < right) { mid=(left+end)>>1; if(num[mid]>target) right=mid; else left=mid; } return mid; }
相关文章推荐
- 二分查找--基础算法
- java算法基础--二分查找
- 【算法基础】二分查找
- 一步一步复习数据结构和算法基础-顺序查找+二分查找
- Java基础算法:堆排,快排,二分查找
- [ACM] [算法基础] POJ 2503 在线翻译Babelfish(二分查找 字符串)
- 基础算法 - 二分查找 / 二分答案入门
- 基础算法 二分查找
- 基础算法学习(01)-二分查找
- php 基础算法之 二分查找
- [ACM] [算法基础] POJ 4140 方程求解(二分查找)
- 算法基础之python实现贪心算法中圣诞老人分糖果问题和二分查找算法中烘干衣服问题
- 数据结构&算法(二)_算法基础之前传(递归、时间复杂度、空间复杂度、二分查找)
- Java基础复习 查找算法之二分法
- 算法基础(一)——冒泡,简单选择排序,二分查找
- 基础算法5——二分查找
- Java 基础一些代码练习笔记(二分查找)
- 算法基础编之二分法
- 二分查找算法的实现-分治策略