Skip to content

이진 탐색(Binary Search) μ•Œκ³ λ¦¬μ¦˜ 정리 #5

@dididy

Description

@dididy

κ°œλ…

μ •λ ¬λœ 데이터가 μžˆμ„ λ•Œ νŠΉμ • 값을 효율적으둜 찾을 수 μžˆλŠ” μ•Œκ³ λ¦¬μ¦˜μ΄λ‹€. κ°€μš΄λ° 값을 κΈ°μ€€μœΌλ‘œ 였λ₯Έμͺ½, μ™Όμͺ½ 각각의 값보닀 큰지 μž‘μ€μ§€λ₯Ό νŒŒμ•…ν•˜μ—¬ ν•΄λ‹Ή λ²”μœ„μ˜ 쀑앙값을 μ„ νƒν•˜μ—¬ λ°˜λ³΅ν•˜λŠ” 과정을 μˆ˜ν–‰ν•˜λ©΄ μ›ν•˜λŠ” 값을 찾을 수 μžˆλ‹€.

κ΅¬ν˜„

function binarySearch(target, array) {
  let start = 0;
  let end = array.length - 1;
  while (start <= end) {
    let mid = Math.floor((end + start) / 2);
    const guess = array[mid];

    if (guess === target) {
      return guess;
    }

    if (guess > target) {
      end = mid - 1;
      continue;
    }

    start = mid + 1;
  }

  return undefined;
}

μ‹œκ°„λ³΅μž‘λ„

O(logN)

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions