μκ° λ³΅μ‘λλ μκ³ λ¦¬μ¦μ΄ μ λ ₯ λ°μ΄ν°μ ν¬κΈ°μ λν΄ μΌλ§λ ν¨μ¨μ μΌλ‘ λμνλμ§λ₯Ό λνλ΄λ κ°λ μ λλ€.
μ’ λ ꡬ체μ μΌλ‘λ μκ³ λ¦¬μ¦μ΄ μ λ ₯ ν¬κΈ°μ λ°λΌ μμλλ κ³μ° μκ°μ μ¦κ° μ λλ₯Ό ννν©λλ€. μκ° λ³΅μ‘λλ μκ³ λ¦¬μ¦μ ν¨μ¨μ±μ λΆμνκ³ λ€λ₯Έ μκ³ λ¦¬μ¦κ³Ό λΉκ΅νλ λ° μ¬μ©λ©λλ€.
νλ‘κ·Έλλ°μμ μκ°λ³΅μ‘λλ νλ‘κ·Έλλ¨Έκ° μμ±ν μ½λμ Running timeμ μλ―Έν©λλ€.
μ 3μ€ μ§λ¦¬ μ½λμ μμ μκ°μ 7ns μ λλ€. μ’μ νλ‘κ·Έλ¨μ΄λΌλ©΄ μ€μν μλμ μ νμ±μ΄ λ·λ°μΉ¨λμ΄μΌ νκΈ°λλ¬Έμ νλ‘κ·Έλ¨μ μμ μκ°μ΄ μ€μνλ€κ³ λ§ν μ μμ΅λλ€.
κ·ΈλΌ λ°λ³΅λ¬Έμ κ²½μ°λ μ΄λ¨κΉμ?
- 'Outer loop'μ κ²½μ° 5λ² → nλ²μΌ κ²½μ° nλ²
- 'Inner loop'μ κ²½μ° 25λ² → nλ²μΌ κ²½μ° n^2λ²
= 5n^2 + 3n
μ΄λ κ² μ΄ μ€νμκ°μ μ λ ₯ν¬κΈ° nμ λν ν¨μλ‘ ννν κ²°κ³Όλ₯Ό μκ°λ³΅μ‘λλΌ ν©λλ€. μ΄λ, nμ μ λ ₯ λ°μ΄ν°μ ν¬κΈ°μ λλ€. 볡μ‘ν μκ°λ³΅μ‘λμ ννμ κ°λ¨ν μμ보기 μν΄μ ν¨μμ μ΅κ³ μ°¨νμΌλ‘λ§ μκ°λ³΅μ‘λλ₯Ό νκΈ°ν κ²μ Big O νκΈ°λ²μ΄λΌκ³ ν©λλ€, μ΄λ μνμ λνλ΄λ©° μκ³ λ¦¬μ¦μ μ€ν μκ°μ΄ μΌλ§λ λΉ λ₯΄κ² μ¦κ°νλμ§λ₯Ό λνλ λλ€.
μλ₯Ό λ€μ΄, O(n), O(n log n), O(n^2)μ κ°κ° μ ν μκ°, λ‘κ·Έ μ ν μκ°, μ΄μ°¨ μκ° λ³΅μ‘λλ₯Ό λνλ λλ€. μ΄λ μ λ ₯ ν¬κΈ° nμ΄ μ»€μ§ λ κ°κ° μ νμ μΌλ‘, λ‘κ·Έ μ νμ μΌλ‘, μ κ³±μ μΌλ‘ μ¦κ°νλ€λ κ²μ μλ―Έν©λλ€.
μκ° λ³΅μ‘λλ₯Ό νκ°ν λλ μ΅μ μκ° λ³΅μ‘λ, νκ· μκ° λ³΅μ‘λ, μ΅μ μκ° λ³΅μ‘λ λ± λ€μν κ²½μ°λ₯Ό κ³ λ €ν μ μμ΅λλ€. μ£Όλ‘ μ΅μ μκ° λ³΅μ‘λκ° κ°μ₯ μ€μνκ² λ€λ£¨μ΄μ§λ©°, μ΄λ μ΅μ μ μν©μμλ μκ³ λ¦¬μ¦μ΄ μ΄λ μ λμ μ±λ₯μ 보μ₯νλμ§λ₯Ό λνλ λλ€.
Time complexity is the computational complexity that describes the amount of computer time it takes to run an algorithm.
Big O Notation is a tool used to describe the time complexity of algorithms. It calculates the time taken to run an algorithm as the input grows.
'Programming > C language' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
4 Constant (1) | 2024.01.23 |
---|---|
3 Variable (0) | 2024.01.22 |
2 Hello world (0) | 2024.01.22 |
1 C language - Why do we learn it (0) | 2024.01.22 |
[μλ£κ΅¬μ‘°] Data structure (0) | 2024.01.07 |
λκΈ