πŸŒΉΒ μ •λ¦¬ by μž₯λ―Έ(https://velog.io/@newbiekim/)

μ„ ν˜• 자료ꡬ쑰의 λŒ€ν‘œμ μΈ 탐색 방법은 λ‹€μŒκ³Ό 같이 μ„Έ 가지가 μžˆλ‹€.

  1. Linear Serach(μ„ ν˜• 탐색)
  2. Binary Serach(이진 탐색)
  3. Search by Hashing(ν•΄μ‹±)

μš°λ¦¬λŠ” μ΄λ²ˆμ— 이진 탐색에 λŒ€ν•΄ μ•Œμ•„λ³Ό 것이닀.

이진 탐색 방법은 μ„Έ λ‹¨κ³„λ‘œ μ„€λͺ…ν•  수 μžˆλ‹€.

  1. 값을 μˆœμ„œλŒ€λ‘œ λ‚˜μ—΄ν•œλ‹€.

    (μ—¬κΈ°μ„œλŠ” μ˜€λ¦„μ°¨μˆœμ„ κΈ°μ€€μœΌλ‘œ μ„€λͺ…ν•˜κ² λ‹€.)

  2. κ°€μž₯ κ°€μš΄λ° 값을 κ³ λ₯Έλ‹€.

  3. κ³ λ₯Έ 값보닀 μ°ΎλŠ” 값이 더 크면 였λ₯Έμͺ½μœΌλ‘œ, μž‘μœΌλ©΄ μ™Όμͺ½μœΌλ‘œ μ΄λ™ν•΄μ„œ 또 λ‹€μ‹œ κ°€μš΄λ° 것을 κ³ λ₯Έλ‹€. 값을 찾을 λ•ŒκΉŒμ§€ λ°˜λ³΅ν•œλ‹€.

μ°Έκ³ 

κ°€μš΄λ° κ°’(쀑간 κ°’)은 검색 λ²”μœ„ μ•ˆμ—μ„œμ˜ (μ΅œμ†Œ 인덱슀 번호 + μ΅œλŒ€ 인덱슀 번호) / 2 둜 κ΅¬ν•œλ‹€. 이 λ•Œ μ†Œμˆ˜μ  μ΄ν•˜λŠ” 버린닀.

예: 검색 λ²”μœ„κ°€ 인덱슀5 ~ 인덱슀8일 경우 (5 + 8) / 2 = 6.5 이닀. μ†Œμˆ˜μ  μ΄ν•˜λŠ” λ²„λ¦¬λ―€λ‘œ 쀑간 κ°’μ˜ μΈλ±μŠ€λŠ” 6이 λœλ‹€.

그림으둜 μ•Œμ•„λ³΄μž.