TIL80-01 면접준비22: 이분탐색이 무엇이고 시간복잡도는 어떻게 되며 그 이유는 무엇인가요?

김태혁·2023년 4월 26일
0

TIL

목록 보기
186/205

이분탐색이 무엇이고 시간복잡도는 어떻게 되며 그 이유는 무엇인가요?

  • 이분 탐색은 정렬된 배열을 통해 검색하는 데 사용되는 효율적인 알고리즘입니다. 목표 값을 찾을 때까지 목표 값이 상주할 수 없는 절반을 제거하기 위해 배열을 반복적으로 반으로 나눕니다. 이분 탐색의 시간 복잡도는 빅 O 표기법으로 O(log n)이므로 특히 대규모 데이터 세트의 경우 선형 검색보다 빠릅니다. 그러나 이분 탐색은 정렬된 배열에서만 작동하며 정렬은 시간이 많이 걸리는 작업일 수 있습니다.

심화

  • 이진 검색의 경우 시간 복잡도는 "O(log n)"이며, 이는 입력 크기가 증가함에 따라 알고리즘에 걸리는 시간이 기껏해야 대수적으로 증가한다는 것을 의미합니다. "O"라는 표기법은 컴퓨터 과학에서 알고리즘의 성능을 분석하고 더 큰 입력으로 확장성을 예측하는 데 널리 사용됩니다.

  • "대수"라는 용어는 알고리즘의 시간 복잡도와 직접적인 관련이 없습니다. "대수"라는 용어는 일반적으로 수학에서 덧셈, 뺄셈, 곱셈 및 나눗셈과 같은 수학적 연산을 포함하고 변수 및 상수를 포함하는 식 또는 방정식을 설명하는 데 사용됩니다.

  • 시간 복잡도 분석의 맥락에서 알고리즘의 증가율을 설명하는 데 사용되는 용어는 일반적으로 "일정한", "선형", "로그", "다항식", "지수" 및 "계승"입니다. 이러한 용어는 다양한 유형의 성장률을 설명하며 입력 크기가 증가함에 따라 알고리즘이 소요되는 시간을 대략적으로 추정하는 데 사용됩니다.
  • 이진 검색의 경우 시간 복잡도는 "O(log n)"이며, 이는 입력 크기가 증가함에 따라 알고리즘에 걸리는 시간이 대수적으로 증가한다는 것을 의미합니다. 이것은 "대수적" 증가율이 아니라 선형 증가보다는 느리지만 일정한 증가보다는 빠른 일종의 증가율입니다. 실제로 이것은 정렬된 배열에서 대상 값을 찾기 위해 이진 검색에 걸리는 시간이 배열 자체의 크기보다 훨씬 더 느리게 증가한다는 것을 의미합니다.
profile
도전을 즐기는 자

0개의 댓글