ν΅ μ λ ¬ νμ΄μ¬μΌλ‘ ꡬννκΈ°
1. νΌλ² μ ν λ° λΆν
λ°°μ΄μμ νΌλ²μ μ ννκ³ , νΌλ²μ κΈ°μ€μΌλ‘ λ°°μ΄μ λ λΆλΆμΌλ‘ λλλλ€.
μ΄ κ³Όμ μμ λͺ¨λ μμλ νΌλ²λ³΄λ€ μμ κ°μ νΌλ²μ μΌμͺ½μ, ν° κ°μ μ€λ₯Έμͺ½μ μμΉνκ² λ©λλ€.
νΌλ² μ ν λ° λΆν
pivot = arr[len(arr) // 2] left = [x for x in arr if x < pivot] middle = [x for x in arr if x == pivot] right = [x for x in arr if x > pivot]
2. μ¬κ·μ μ λ ¬
μΌμͺ½ λ° μ€λ₯Έμͺ½ μλΈ λ°°μ΄μ μ¬κ·μ μΌλ‘ μ λ ¬ν©λλ€.
μ¬κ·μ μ λ ¬ μμ
return quick_sort(left) + middle + quick_sort(right)
μκ° λ³΅μ‘λ
-
μ΅μ μ κ²½μ° μκ° λ³΅μ‘λ (Worst-Case Time Complexity)
: O(n^2)- νΌλ² μ νμ΄ μ΅μ μ κ²½μ°(μ: νμ μ΅μκ° λλ μ΅λκ°μ νΌλ²μΌλ‘ μ ν)μΌ λ λ°μν©λλ€. μ΄ κ²½μ°, λ°°μ΄μ΄ νλμ μμλ‘ λΆν λμ§ μκ³ κ³μν΄μ ν μͺ½μΌλ‘ μΉμ°μ³μ§κ² λ©λλ€.
-
μ΅μ μ κ²½μ° μκ° λ³΅μ‘λ (Best-Case Time Complexity)
: O(nlog n)- μ΄λ νΌλ²μ΄ λ§€λ² λ°°μ΄μ μ€κ° κ°μ λΆν νλ κ²½μ°μ ν΄λΉν©λλ€. κ° λΆν μ λ°°μ΄μ μ λ°μΌλ‘ μ€μ¬, λ‘κ·Έ μκ° λ³΅μ‘λλ₯Ό κ°κ² λ©λλ€.
-
νκ· μκ° λ³΅μ‘λ (Average-Case Time Complexity)
: O(nlog n)- λλΆλΆμ κ²½μ°, ν΅ μ λ ¬μ νκ· μ μΌλ‘ nlog nμ μκ° λ³΅μ‘λλ₯Ό κ°μ§λλ€. μ΄λ νΌλ² μ νμ΄ κ· λ±νκ² μ΄λ£¨μ΄μ§ λμ κΈ°λ μκ° λ³΅μ‘λμ λλ€.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help
Code Editor
Run
Generate
Execution Result