Guidelines

μ•Œκ³ λ¦¬μ¦˜ λ³΅μž‘λ„ κ°œλ… 볡슡

μ•Œκ³ λ¦¬μ¦˜ λ³΅μž‘λ„λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄ μ–Όλ§ˆλ‚˜ νš¨μœ¨μ μΈμ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” μ²™λ„λ‘œ, 이번 μˆ˜μ—…μ—μ„œλŠ” 이전에 배운 λΉ…μ˜€ ν‘œκΈ°λ²•κ³Ό, μ‹œκ°„ λ³΅μž‘λ„μ™€ 곡간 λ³΅μž‘λ„μ˜ κ°œλ…μ„ λ³΅μŠ΅ν•˜κ² μŠ΅λ‹ˆλ‹€.


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

λΉ… 였 ν‘œκΈ°λ²•(Big O notation)은 μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹œκ°„ λ³΅μž‘λ„λ‚˜ 곡간 λ³΅μž‘λ„λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 데 μ‚¬μš©λ˜λŠ” μˆ˜ν•™μ  ν‘œν˜„ λ°©μ‹μž…λ‹ˆλ‹€.

이 ν‘œκΈ°λ²•μ€ μ•Œκ³ λ¦¬μ¦˜μ΄ μ–΄λ–€ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 ν•„μš”ν•œ μžμ›(μ‹œκ°„ λ˜λŠ” 곡간)이 μž…λ ₯ 크기에 따라 μ–΄λ–»κ²Œ λ³€ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€.


λΉ… 였 ν‘œκΈ°λ²•μ˜ μ˜ˆμ‹œ

  • O(1) μƒμˆ˜ μ‹œκ°„ : μž…λ ₯ 크기와 상관없이 μΌμ •ν•œ μ‹œκ°„μ΄ κ±Έλ¦½λ‹ˆλ‹€.

  • O(n) μ„ ν˜• μ‹œκ°„ : μ•Œκ³ λ¦¬μ¦˜μ˜ μ‹€ν–‰ μ‹œκ°„μ΄ μž…λ ₯ 크기에 μ„ ν˜•μ μœΌλ‘œ μ¦κ°€ν•©λ‹ˆλ‹€.

  • O(n^2) 제곱 μ‹œκ°„ : μž…λ ₯ 크기가 두 λ°°κ°€ 되면, μ‹€ν–‰ μ‹œκ°„μ€ λ„€ λ°°κ°€ λ©λ‹ˆλ‹€. 이쀑 반볡문 이에 ν•΄λ‹Ήν•©λ‹ˆλ‹€.


μ‹œκ°„ λ³΅μž‘λ„(Time Complexity)

μ‹œκ°„ λ³΅μž‘λ„(Time Complexity)λŠ” μ•Œκ³ λ¦¬μ¦˜μ΄ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” 데 μ†Œμš”λ˜λŠ” μ‹œκ°„μ΄ μž…λ ₯ 크기에 따라 μ–΄λ–»κ²Œ λ³€ν•˜λŠ”μ§€λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. 주둜 μ•Œκ³ λ¦¬μ¦˜μ΄ μ΅œμ•…μ˜ κ²½μš°μ— μ–Όλ§ˆλ‚˜ λ§Žμ€ 연산이 ν•„μš”ν•œμ§€λ₯Ό λŒ€λž΅μ μœΌλ‘œ λ‚˜νƒ€λƒ…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ•„λž˜ μ½”λ“œλŠ” μž…λ ₯의 크기가 5일 λ•ŒλŠ” 5번의 연산이 ν•„μš”ν•˜κ³ , μž…λ ₯의 크기가 10일 λ•ŒλŠ” 10번의 연산이 ν•„μš”ν•©λ‹ˆλ‹€.

O(n) μ‹œκ°„ λ³΅μž‘λ„ μ˜ˆμ‹œ
def example_function(n): for i in range(n): print(i) # ν•¨μˆ˜ 호좜 example_function(5)

λ”°λΌμ„œ μœ„μ™€ λ‹¨μˆœ 반볡문의 μ‹œκ°„ λ³΅μž‘λ„λŠ” μž…λ ₯의 크기(n)에 따라 λΉ„λ‘€ν•΄μ„œ μ¦κ°€ν•˜λŠ” O(n)이 λ©λ‹ˆλ‹€.


곡간 λ³΅μž‘λ„(Space Complexity)

곡간 λ³΅μž‘λ„λŠ” μ•Œκ³ λ¦¬μ¦˜ μ‹€ν–‰ 쀑 μ‚¬μš©λ˜λŠ” 총 λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ 양을 λ‚˜νƒ€λ‚΄λŠ” μ²™λ„μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, μ•„λž˜ ν•¨μˆ˜λŠ” μž…λ ₯의 크기(n)에 관계없이 항상 κ³ μ •λœ 크기의 배열을 μ‚¬μš©ν•˜λ―€λ‘œ, 곡간 λ³΅μž‘λ„λŠ” O(1)이 λ©λ‹ˆλ‹€.

O(1) 곡간 λ³΅μž‘λ„ μ˜ˆμ‹œ
def example_function(): fixed_array = [1, 2, 3, 4, 5] # κ³ μ •λœ 크기의 λ°°μ—΄ 차지 print(fixed_array) # ν•¨μˆ˜ 호좜 example_function()

Guidelines

AI Tutor

Publish

Design

Upload

Notes

Favorites

Help

Code Editor

Run
Generate

Execution Result