Guidelines

μ•Œκ³ λ¦¬μ¦˜μ˜ λ³΅μž‘λ„(Complexity)λž€?

μ•Œκ³ λ¦¬μ¦˜μ˜ λ³΅μž‘λ„λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄ μ–Όλ§ˆλ‚˜ νš¨μœ¨μ μΈμ§€λ₯Ό μΈ‘μ •ν•˜λŠ” λ°©λ²•μœΌλ‘œ, μ•Œκ³ λ¦¬μ¦˜μ˜ νš¨μœ¨μ„±μ€ λΉ… 였 ν‘œκΈ°λ²•(Big O notation)으둜 ν‘œν˜„ν•©λ‹ˆλ‹€.

  • 'O' (Big O): '차수(Order)'λ₯Ό λœ»ν•˜λ©°, μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹œκ°„ λ³΅μž‘λ„λ‚˜ 곡간 λ³΅μž‘λ„λ₯Ό ν‘œν˜„ν•©λ‹ˆλ‹€. 'O'λŠ” 'Order of' 즉, '...의 차수'λΌλŠ” 의미둜, μ•Œκ³ λ¦¬μ¦˜μ΄ μž…λ ₯ 크기에 λŒ€ν•΄ μ–Όλ§ˆλ‚˜ λ§Žμ€ κ³„μ‚°μ΄λ‚˜ λ©”λͺ¨λ¦¬κ°€ ν•„μš”ν•œμ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μƒν•œμ„ μ„ ν‘œν˜„ν•©λ‹ˆλ‹€.

  • 'n': 일반적으둜 μ•Œκ³ λ¦¬μ¦˜μ˜ μž…λ ₯ 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” λ³€μˆ˜μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 'O(1)'은 μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기와 관계없이 μΌμ •ν•œ 것을 λœ»ν•˜κ³ , 'O(n)'은 μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기에 μ„ ν˜•μ μœΌλ‘œ λΉ„λ‘€ν•˜λŠ” 것을 λ‚˜νƒ€λ‚΄λ©°, 'O(nΒ²)'은 μž…λ ₯ 크기의 μ œκ³±μ— λΉ„λ‘€ν•˜μ—¬ μ‹€ν–‰ μ‹œκ°„μ΄ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ 증가함을 μ˜λ―Έν•©λ‹ˆλ‹€.


μ•Œκ³ λ¦¬μ¦˜μ˜ λ³΅μž‘λ„ 평가

μ•Œκ³ λ¦¬μ¦˜μ˜ λ³΅μž‘λ„λŠ” μ‹œκ°„ λ³΅μž‘λ„μ™€ 곡간 λ³΅μž‘λ„ 두 가지 츑면으둜 ν‰κ°€νž™λ‹ˆλ‹€.

  1. μ‹œκ°„ λ³΅μž‘λ„ (Time Complexity): μ•Œκ³ λ¦¬μ¦˜μ΄ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ μ–Όλ§ˆλ‚˜ λ˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 일반적으둜 μž…λ ₯ 크기에 따라 μ–Όλ§ˆλ‚˜ λ§Žμ€ 단계가 ν•„μš”ν•œμ§€λ‘œ μΈ‘μ •λ©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ κ°„λ‹¨ν•œ λ°˜λ³΅λ¬Έμ€ μž…λ ₯ 크기에 λΉ„λ‘€ν•˜λŠ” 'μ„ ν˜• μ‹œκ°„ λ³΅μž‘λ„(O(n))'λ₯Ό 가지며, μ€‘μ²©λœ λ°˜λ³΅λ¬Έμ€ '제곱 μ‹œκ°„ λ³΅μž‘λ„(O(nΒ²))'λ₯Ό κ°–μŠ΅λ‹ˆλ‹€.

  2. 곡간 λ³΅μž‘λ„ (Space Complexity): μ•Œκ³ λ¦¬μ¦˜μ΄ 싀행될 λ•Œ ν•„μš”ν•œ λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 양을 λœ»ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, κ³ μ •λœ 수의 λ³€μˆ˜λ§Œμ„ μ‚¬μš©ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ€ 'μƒμˆ˜ 곡간 λ³΅μž‘λ„(O(1))'λ₯Ό 가지며, μž…λ ₯ 크기에 λΉ„λ‘€ν•˜λŠ” μΆ”κ°€ λ©”λͺ¨λ¦¬κ°€ ν•„μš”ν•œ 경우 'μ„ ν˜• 곡간 λ³΅μž‘λ„(O(n))'λ₯Ό κ°€μ§‘λ‹ˆλ‹€.


Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result