Coding Planet
μκ°λ³΅μ‘λ(Time Complexity)μ 곡κ°λ³΅μ‘λ(Space Complexity) λ³Έλ¬Έ
π μ½λ©ν
μ€νΈ/μκ³ λ¦¬μ¦
μκ°λ³΅μ‘λ(Time Complexity)μ 곡κ°λ³΅μ‘λ(Space Complexity)
jhj.sharon 2023. 8. 21. 15:40λ°μν
| μκ°λ³΅μ‘λ(Time Complexity)λ?
- μκ° λ³΅μ‘λλ μκ³ λ¦¬μ¦μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° κ±Έλ¦¬λ μκ°μ λνλ΄λ μ²λμ΄λ€.
- μκ³ λ¦¬μ¦μ μ€ν μκ°μ μ λ ₯ λ°μ΄ν°μ ν¬κΈ°λ νΉμ±μ λ°λΌ λ€λ₯Ό μ μκΈ° λλ¬Έμ, μκ° λ³΅μ‘λλ μΌλ°μ μΌλ‘ μ΅μ μ κ²½μ°, νκ· κ²½μ°, μ΅μ μ κ²½μ°λ‘ λλμ΄ νκ°λλ€.
λΉ -μ€ νκΈ°λ²(Big O Notation)
: μκ° λ³΅μ‘λλ₯Ό νννλλ° κ°μ₯ μΌλ°μ μΌλ‘ μ¬μ©λλ νκΈ°λ²μ΄λ€. λΉ μ€ νκΈ°λ²μ μκ³ λ¦¬μ¦ μ±λ₯μ κ°μ₯ ν° μν₯μ λ―ΈμΉλ λΆλ¬Έλ§μ κ³ λ €νμ¬ λνλΈλ€. μλ₯Ό λ€μ΄, λμ μ λμ Έ λ·λ©΄μ΄ λμ¬ νλ₯ μ μ΄μΌκΈ°ν λ μ΄μ΄ μ’μΌλ©΄ 1λ²μ λ·λ©΄μ΄ λμ€μ§λ§ μ΄μ΄ μμ’μ κ²½μ° nλ² λ§νΌ λμ μ λμ μΌ νλ€. μ΄λ° νλ₯ μμ μ΅μ μ κ²½μ°λ₯Ό κ³μ°νλ λ°©μμ λΉ μ€ νκΈ°λ²μ΄λΌ νλ€.
μμ£Ό μ¬μ©λλ μκ° λ³΅μ‘λμ μ
- O(1): μμ μκ°. μ λ ₯ λ°μ΄ν°μ ν¬κΈ°μ μκ΄μμ΄ μΌμ ν μκ°μ΄ μμλλ€.
- O(log n) : λ‘κ·Έ μκ°. μ΄μ§ κ²μκ³Ό κ°μ μκ³ λ¦¬μ¦μμ λνλλ€.
- O(n) : μ ν μκ°. λ¨μ κ²μκ³Ό κ°μ μκ³ λ¦¬μ¦μμ λμ¨λ€.
- O(n log n): λ³ν© μ λ ¬ λλ ν΅ μ λ ¬κ³Ό κ°μ μκ³ λ¦¬μ¦μμ λμ¨λ€.
- O(n²) : λ€ν μκ°. λ²λΈ μ λ ¬, μ½μ μ λ ¬, μ ν μ λ ¬ λ±μμ λνλλ€.
- O(2βΏ) : μκ³ λ¦¬μ¦μ μκ° λ³΅μ‘λλ κ³΅κ° λ³΅μ‘λκ° μ λ ₯ ν¬κΈ°μ μ§μμ μΌλ‘ μ¦κ°νλ€. λ§€μ° λΉν¨μ¨μ μ΄λ©° μ λ ₯ ν¬κΈ°κ° μμ κ²½μ°μλ§ μ€μ λ‘ μ€νμ΄ κ°λ₯νλ€. ex)νΌλ³΄λμΉ μμ΄μ μ¬κ·μ ꡬν, μ΄μ€ forλ¬Έ
[faster] O(1) < O(log n) < O(nlog n) < O(n²) < O(2βΏ) [slower] |
| 곡κ°λ³΅μ‘λ(Space Complexity)λ?
- κ³΅κ° λ³΅μ‘λλ μκ³ λ¦¬μ¦μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ° νμν λ©λͺ¨λ¦¬ μμ λνλ΄λ μ²λμ΄λ€.
- μκ° λ³΅μ‘λμ λ§μ°¬κ°μ§λ‘ κ³΅κ° λ³΅μ‘λλ λΉ μ€ νκΈ°λ²μ μ¬μ©ν΄ νννλ€.
κ³΅κ° λ³΅μ‘λμ ꡬμ±
- κ³ μ 곡κ°(Fixed Space): μκ³ λ¦¬μ¦μ μ€νμ νμν κ³ μ λ ν¬κΈ°μ λ©λͺ¨λ¦¬μ΄λ€. μλ₯Ό λ€λ©΄ λ³μ, μμ, κ°λ¨ν λ°μ΄ν° ꡬ쑰 λ±μ΄λ€.
- κ°λ³ 곡κ°(Variable Space) : μκ³ λ¦¬μ¦ μ€νμ λ°λΌ ν¬κΈ°κ° λ³νλ λ©λͺ¨λ¦¬μ΄λ€. μλ₯Ό λ€λ©΄ μ¬κ· μ€ν, λμ ν λΉλ λ©λͺ¨λ¦¬ λ±μ΄λ€.
| μ 리
- μκ° λ³΅μ‘λμ κ³΅κ° λ³΅μ‘λλ μ’ μ’ trade-off κ΄κ³μ μλ€. μ¦, μκ°μ μ μ½νκΈ° μ΄ν΄ λ λ§μ λ©λͺ¨λ¦¬λ₯Ό μ¬μ©νκ±°λ, λ©λͺ¨λ¦¬λ₯Ό μ μ½νκΈ°μν΄ λ λ§μ μκ°μ μλΉνλ κ²μ΄λ€. μ΄λ¬ν trade-offλ₯Ό νΉμ λ¬Έμ λ μν©μ λ°λΌ λ€λ₯΄κ² μ νν΄μΌνλ€.
λ°μν
'π μ½λ©ν μ€νΈ > μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
μ¬κ·ν¨μ μκ³ λ¦¬μ¦ - ν©ν λ¦¬μΌ ν¨μ μμ (0) | 2023.08.26 |
---|---|
λ²λΈμ λ ¬ - μλ°λ‘ ꡬννκΈ° (0) | 2023.08.21 |
12. μνΈ - replace, Inteager.parseInt(μ§μ λ³κ²½νκΈ°) (0) | 2023.07.07 |
9. μ«μλ§ μΆμΆ - Character.isDigit(), ASCII Code μ¬μ©νκΈ° (0) | 2023.05.08 |
8. μ ν¨ν ν°λ¦°λ둬 (Palindrome) - replaceAll (0) | 2023.05.08 |
Comments