c++/자료구조 간단 이론

이분 탐색

TIN9 2022. 11. 3.
반응형

이분 탐색이란?

- 정렬된 배열에서 원하는 값의 존재 여부를 찾는 알고리즘.

- 반드시 배열을 정렬해서 사용해야 한다는 단점이 있다.

- 탐색할 때마다 검사 범위가 절반으로 줄어든다.

 

시간복잡도 : O(log N)

 


탐색 방식

- 전체 배열의 중간 요소를 찾고자 하는 키로 시작합니다.

- 찾고자 하는 키의 값이 항목과 같으면 찾고자 하는 키의 인덱스를 반환합니다.

- 또는 찾고자 하는키의 값이 Mid보다 작으면 End = Mid - 1으로 좁힙니다.

- 그렇지 않으면 Start = Mid + 1으로 좁힙니다.

- 두 번째 지점부터 값을 찾거나 간격이 비어 있을 때까지 반복적으로 확인합니다.

탐색 방법 예시

출처 : https://www.geeksforgeeks.org/binary-search/

 

Binary Search - GeeksforGeeks

A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and practice/competitive programming/company interview Questions.

www.geeksforgeeks.org


이분탐색을 이용한 프로그래머스 문제

https://school.programmers.co.kr/learn/courses/30/lessons/43238

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

정답

https://tin9-d-d-blog.tistory.com/111

 

프로그래머스 입국심사(lv3)

#include #include #include using namespace std; long long solution(int n, vector times) { long long answer = 0; // 호춘쿠키님의 글을 보고 적고 공부내용임 // 주석 걸린내용 대부분 호춘쿠키님의 주석내용(이해가기 쉽게

tin9-d-d-blog.tistory.com

 

반응형

댓글