μ ν μ λ ¬ μμΈν μμ보기
1. λ°λ³΅λ¬Έ μ€μ
λ κ°μ μ€μ²©λ λ°λ³΅λ¬Έμ μ¬μ©ν©λλ€. μΈλΆ λ°λ³΅λ¬Έμ λ°°μ΄μ ν΅κ³Όνλ νμλ₯Ό κ²°μ νκ³ , λ΄λΆ λ°λ³΅λ¬Έμ μ΅μκ°μ μ°ΎκΈ° μν΄ λ°°μ΄μ μμλ₯Ό λΉκ΅ν©λλ€.
λ°λ³΅λ¬Έ μ€μ
for i in range(n): for j in range(i + 1, n):
2. μ΅μκ° μ°ΎκΈ° λ° κ΅ν
λ΄λΆ λ°λ³΅λ¬Έμμ, μ΅μκ°μ μ°Ύμ νμ¬ μμΉμ κ°κ³Ό κ΅νν©λλ€.
μ΅μκ° μ°ΎκΈ° λ° κ΅ν
if arr[j] < arr[min_index]: min_index = j # μ΅μκ°μ μΈλ±μ€ μ μ₯ arr[i], arr[min_index] = arr[min_index], arr[i] # μ΅μκ°κ³Ό νμ¬ μμΉμ κ° κ΅ν
μ ν μ λ ¬ μκ° λ³΅μ‘λ
-
μ΅μ , μ΅μ , νκ· μκ° λ³΅μ‘λ (Worst, Best, and Average-Case Time Complexity)
: λͺ¨λ O(n^2)- μ ν μ λ ¬μ λ°°μ΄μ κ° μμΉμ λν΄ λλ¨Έμ§ μ 체 λ°°μ΄μ νμνμ¬ κ°μ₯ μμ(λλ κ°μ₯ ν°) μμλ₯Ό μ°Ύμ΅λλ€. μ΄ κ³Όμ μ λ°°μ΄μ ν¬κΈ°κ° nμΌ λ, 첫 λ²μ§Έ μμμ λν΄
n-1
λ², λ λ²μ§Έ μμμ λν΄n-2
λ² λ± μ΄ ((n-1) + (n-2) + ... + 1)λ², μ¦n(n-1)/2
λ²μ λΉκ΅λ₯Ό νμλ‘ ν©λλ€.
n(n-1)/2
λ₯Ό λΉ μ€ νκΈ°λ²μΌλ‘ νκΈ°νλ©΄, μκ°λ³΅μ‘λλO(n^2)
κ° λ©λλ€.- μ ν μ λ ¬μ μκ° λ³΅μ‘λλ μ λ ₯ λ°μ΄ν°μ μ λ ¬ μνμ κ΄κ³μμ΄ νμ μΌμ ν©λλ€. μ¦, μ΄λ―Έ μ λ ¬λ λ°°μ΄μ΄λ , μμμΌλ‘ μ λ ¬λ λ°°μ΄μ΄λ , 무μμλ‘ λ°°μΉλ λ°°μ΄μ΄λ μκ° λ³΅μ‘λλ λ³νμ§ μμ΅λλ€.
- μ ν μ λ ¬μ λ°°μ΄μ κ° μμΉμ λν΄ λλ¨Έμ§ μ 체 λ°°μ΄μ νμνμ¬ κ°μ₯ μμ(λλ κ°μ₯ ν°) μμλ₯Ό μ°Ύμ΅λλ€. μ΄ κ³Όμ μ λ°°μ΄μ ν¬κΈ°κ° nμΌ λ, 첫 λ²μ§Έ μμμ λν΄
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Run
Generate
Execution Result