이분 탐색_최적화 결정과 lower_bound

·2022년 8월 1일

알고리즘 기법

목록 보기
47/91

문제해결 전략

: 파라미터 서치만 생각할 것이 아니라, logN의 시간복잡도로 탐색하는
lower_bound로 사용해야 겠다. 는 생각을 해야 함.

  • 최적화 문제 : optimize , declare 문제는 알 수 없는 값을 탐색할 때 진행

  • lower_bound 는 모든 값들은 결정되어 있는 가운데서 카운팅 개수를 구할 때 사용한다.
    -> 관련 문제 : 프로그래머스 순위 검색

차이점


언제 사용할까?

: 완탐으로 풀려고 했는데, 시간복잡도가 어마어마 할때

이분탐색은 시간복잡도가 n / 2 아니고 왜 logN일까?

  • 참고 사이트
    https://neos518.tistory.com/145

  • 8개의 오름차순된 데이터가 있음. 84를 찾는 다고 하면?
    1 , 3, 4, 17 , 84 , 90 , 92 , 110

  • 1) s : 0 , end : 7 / mid : 3
    v[3] vs 84 : 84가 크므로 -> s에 mid + 1
  • 2) s : 4 , end : 7 / mid : 5
    v[5] : 90 vs 84 // 84가 작으므로 -> e에 mid -1
  • 3) s : 4 , end : 4 / mid : 4
    84 vs 84 : 3번만에 찾음
  • 결론 : 8개의 데이터를 log8, 3의 비용으로 찾음.
profile
🔥🔥🔥

0개의 댓글