자격증/μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬

[2 κ³Όλͺ©] μ‹œκ°„ λ³΅μž‘λ„ Big-O(λΉ…μ˜€) ν‘œκΈ°λ²•

_silver 2025. 4. 9. 17:10

πŸ“Œ κ΄€λ ¨ 기좜문제:

  • 2024λ…„ 3회 : μ •λ ¬λœ N개의 데이터λ₯Ό μ²˜λ¦¬ν•˜λŠ”λ° O(Nlog2n)의 μ‹œκ°„μ΄ μ†Œμš”λ˜λŠ” μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜μ€?
O(1) - ν•΄μ‹œ ν•¨μˆ˜
μƒμˆ˜ μ‹œκ°„μ˜ λ³΅μž‘λ„, μž…λ ₯κ°’ n이 μ£Όμ–΄μ‘Œμ„ λ•Œ, 문제λ₯Ό ν•΄κ²°ν•˜λŠ”λ° 였직 ν•œ λ‹¨κ³„λ§Œ κ±°μΉœλ‹€.
O(n) - 순차 탐색
μ„ ν˜• μ‹œκ°„μ˜ λ³΅μž‘λ„, 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ λ‹¨κ³„μ˜ μˆ˜μ™€ μž…λ ₯κ°’ n이 1:1 관계이닀.
O(log2n) - 이진 탐색
둜그 μ‹œκ°„μ˜ λ³΅μž‘λ„, μž…λ ₯κ°’ n이 μ£Όμ–΄μ‘Œμ„ λ•Œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ”λ° ν•„μš”ν•œ 단계듀이 μ—°μ‚°λ§ˆλ‹€ νŠΉμ • μš”μΈμ— μ˜ν•΄ 쀄어든닀.
O(Nlog2n) - 퀡/병합(합병)μ •λ ¬
μ„ ν˜• 둜그 μ‹œκ°„μ˜ λ³΅μž‘λ„, 문제 해결을 μœ„ν•œ λ‹¨κ³„μˆ˜λŠ” nlog2n번의 μˆ˜ν–‰μ‹œκ°„μ„ κ°–λŠ”λ‹€.
O(n^2) - 버블/μ‚½μž…/선택 μ •λ ¬
제곱 μ‹œκ°„μ˜ λ³΅μž‘λ„, 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ λ‹¨κ³„μ˜ μˆ˜λŠ” μž…λ ₯κ°’ n의 μ œκ³±κ·Όμ΄λ‹€.
O(C^n)
μ§€μˆ˜ μ‹œκ°„μ˜ λ³΅μž‘λ„, 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•œ 단계 μˆ˜λŠ” μ£Όμ–΄μ§„ μƒμˆ˜κ°’ C의 nμ œκ³±μ΄λ‹€.