标签:div color ons 算法 核心 开始 bsp int lse
1.实践题目
二分查找
2.问题描述
输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。
3.核心代码
int BinarySearch(int a[],const int&x,int n){ int left=0,right=n-1; while(left<=right) { l++; int middle=(left+right)/2; if(x==a[middle]) return middle; if(x>a[middle])left=middle+1; else right=middle-1; } return -1; }
4.时间复杂度&空间复杂度
空间复杂度o(1),时间复杂度o(log2n),题目要求n<=1000,数组提前开了1000,所以o1。然后算法核心就是二分法,不过在二分的过程中加了个记数器来记比较次数。
5.
一开始记数的时候出现了点问题,后面很快找到bug解决了。
标签:div color ons 算法 核心 开始 bsp int lse
原文地址:https://www.cnblogs.com/crisp/p/9784815.html