<aside> 💡 이미 데이터가 정렬이 되어있는 상황에서 범위를 반씩 좁혀가며 빠르게 탐색하는 알고리즘이다.
</aside>
<aside> 💡 "이분 탐색을 하는 방법은 left , right , mid 값으로 탐색하는 것이다. mid의 값은 (left + right)/2 으로 잡아주고 검색하고자 하는 값과 mid 값을 비교한다."
</aside>
#include <iostream>
using namespace std;
int main()
{
// 1~500까지의 배열 형성
int arr[501];
for(int i=1;i<501;i++)
arr[i]=i;
int target = 62; // 타겟 값
// 이분 탐색 수행 (index 값)
int left = 1, right = 500; // left, right 초기화
while(left<=right)
{
int mid = (left+right)/2 // mid 갱신
// 타겟 값 찾음
if(mid==target)
{
cout<<"Searching Complete!"<<'\\n';
break;
}
else if(mid>target)
{
right = mid-1;
}
else
{
left = mid+1;
}
}
return 0;
}