Skip to content

Latest commit

Β 

History

History
28 lines (18 loc) Β· 2.87 KB

λΉ… 였(Big O).md

File metadata and controls

28 lines (18 loc) Β· 2.87 KB

λΉ… 였(Big O) ν‘œκΈ°λ²•

image

λΉ… 였(Big O) ν‘œκΈ°λ²•μ€ μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹œκ°„ λ³΅μž‘λ„λ‚˜ 곡간 λ³΅μž‘λ„λ₯Ό ν‘œν˜„ν•  λ•Œ μ‚¬μš©ν•˜λŠ” μˆ˜ν•™μ  ν‘œκΈ° λ°©λ²•μž…λ‹ˆλ‹€. 이 ν‘œκΈ°λ²•μ€ μ•Œκ³ λ¦¬μ¦˜μ΄ μ–΄λ–€ 크기의 μž…λ ₯에 λŒ€ν•΄ μ–Όλ§ˆλ‚˜ λ§Žμ€ 연산을 μˆ˜ν–‰ν•˜κ±°λ‚˜ μ–Όλ§ˆλ‚˜ λ§Žμ€ λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. λΉ… 였 ν‘œκΈ°λ²•μ€ μ΅œμ•…μ˜ 경우의 μ„±λŠ₯을 κΈ°μ€€μœΌλ‘œ ν•˜λ©°, μž…λ ₯ 크기가 컀질 λ•Œ μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄λ‚˜ ν•„μš”ν•œ 곡간이 μ–΄λ–»κ²Œ μ¦κ°€ν•˜λŠ”μ§€λ₯Ό μ„€λͺ…ν•©λ‹ˆλ‹€.

  • μ‹œκ°„ λ³΅μž‘λ„: μ•Œκ³ λ¦¬μ¦˜μ΄ μ–Όλ§ˆλ‚˜ λΉ λ₯΄κ²Œ 싀행될 수 μžˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. μ‹œκ°„ λ³΅μž‘λ„κ°€ 높은 μ•Œκ³ λ¦¬μ¦˜μ€ 큰 μž…λ ₯에 λŒ€ν•΄ 맀우 느렀질 수 μžˆμœΌλ―€λ‘œ, 효율적인 μ•Œκ³ λ¦¬μ¦˜μ„ μ„ νƒν•˜λŠ” 데 μ€‘μš”ν•œ 기쀀이 λ©λ‹ˆλ‹€.
  • 곡간 λ³΅μž‘λ„: μ•Œκ³ λ¦¬μ¦˜μ΄ μ–Όλ§ˆλ‚˜ λ§Žμ€ λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. λ©”λͺ¨λ¦¬ μ‚¬μš©μ΄ λ§Žμ€ μ•Œκ³ λ¦¬μ¦˜μ€ μ œν•œλœ λ©”λͺ¨λ¦¬ μžμ›μ„ 가진 μ‹œμŠ€ν…œμ—μ„œ 문제λ₯Ό μΌμœΌν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

λΉ… 였 ν‘œκΈ°λ²•μ˜ 기본적인 μ˜ˆμ‹œλŠ” λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€:

  1. O(1): μƒμˆ˜ μ‹œκ°„(Constant time) - μž…λ ₯ 크기에 상관없이 μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μΌμ •ν•©λ‹ˆλ‹€.
  2. O(log n): 둜그 μ‹œκ°„(Logarithmic time) - μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기의 λ‘œκ·Έμ— λΉ„λ‘€ν•˜μ—¬ μ¦κ°€ν•©λ‹ˆλ‹€. 이진 탐색이 λŒ€ν‘œμ μΈ μ˜ˆμž…λ‹ˆλ‹€.
  3. O(n): μ„ ν˜• μ‹œκ°„(Linear time) - μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기에 λΉ„λ‘€ν•˜μ—¬ μ¦κ°€ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 배열을 ν•œ 번 μˆœνšŒν•˜λŠ” κ²½μš°μž…λ‹ˆλ‹€.
  4. O(n log n): μ„ ν˜• 둜그 μ‹œκ°„(Linearithmic time) - λ§Žμ€ 효율적인 μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜λ“€μ΄ 이 μ‹œκ°„ λ³΅μž‘λ„λ₯Ό κ°€μ§‘λ‹ˆλ‹€.
  5. O(n^2): 제곱 μ‹œκ°„(Quadratic time) - μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기의 μ œκ³±μ— λΉ„λ‘€ν•˜μ—¬ μ¦κ°€ν•©λ‹ˆλ‹€. κ°„λ‹¨ν•œ 이쀑 루프λ₯Ό μ‚¬μš©ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜λ“€μ΄ 이에 ν•΄λ‹Ήν•©λ‹ˆλ‹€.
  6. O(2^n): μ§€μˆ˜ μ‹œκ°„(Exponential time) - μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기에 λŒ€ν•œ 2의 κ±°λ“­μ œκ³±μ— λΉ„λ‘€ν•˜μ—¬ μ¦κ°€ν•©λ‹ˆλ‹€. 일뢀 λΆ„ν•  정볡 μ•Œκ³ λ¦¬μ¦˜κ³Ό μ‘°ν•© 문제λ₯Ό ν•΄κ²°ν•  λ•Œ λ‚˜νƒ€λ‚  수 μžˆμŠ΅λ‹ˆλ‹€.
  7. O(n!): νŒ©ν† λ¦¬μ–Ό μ‹œκ°„(Factorial time) - μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기의 νŒ©ν† λ¦¬μ–Όμ— λΉ„λ‘€ν•˜μ—¬ μ¦κ°€ν•©λ‹ˆλ‹€. κ°€μž₯ 느린 μ„±λŠ₯을 보이며, 일뢀 μˆœμ—΄ 문제λ₯Ό ν•΄κ²°ν•  λ•Œ λ‚˜νƒ€λ‚  수 μžˆμŠ΅λ‹ˆλ‹€.

λΉ… 였 ν‘œκΈ°λ²•μ€ μ΅œμ•…μ˜ 경우λ₯Ό κΈ°μ€€μœΌλ‘œ ν•˜κΈ° λ•Œλ¬Έμ—, μ•Œκ³ λ¦¬μ¦˜μ˜ 평균적인 μ„±λŠ₯μ΄λ‚˜ μ΅œμ„ μ˜ μ„±λŠ₯을 μ„€λͺ…ν•˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ•Œκ³ λ¦¬μ¦˜μ„ λΉ„κ΅ν•˜κ³  뢄석할 λ•Œ μœ μš©ν•œ λ„κ΅¬λ‘œ μ‚¬μš©λ©λ‹ˆλ‹€.

Reference


Back