二分検索--C++コード実装
1088 ワード
二分検索–C++コード実装
二分検索のコードを整理します.
このアルゴリズムの時間的複雑度はlog 2 Nである
二分検索のコードを整理します.
#include
#include
#include
#include
#include "MyUtil.h"
using namespace std;
template
//
// ,
int binarySerach(T arr[],int n,T target){
// [l-r] target
//
//
int l = 0,r = n-1;
while(l <= r){
// int mid = (l+r)/2
int mid = l+(r-l)/2;
if(arr[mid] == target){
return mid;
}
if(target > arr[mid]){
l = mid+1;
}else{
r = mid-1;
}
}
return -1;
}
int main()
{
//
int n = 1000000;
int* data =new int[n];
//
for(int i = 0;i < n;i++){
data[i] = i;
}
clock_t startTime = clock();
for(int i = 0;i
このアルゴリズムの時間的複雑度はlog 2 Nである