* μ΄ ν¬μ€ν μ Start with Udemy μ±λ¦°μ λ‘μ¨ κ°μλ₯Ό μκ°νλ©° μμ±νλ λ΄μ©μ λλ€.π *
Section 2λ₯Ό μμνλ©΄μ
λλμ΄ μκ° μ±ν° λ€μμΈ λΉ
μ€ νκΈ°λ² ννΈλ₯Ό λ€μ΄λ³΄μλ€.
μ΄λ² μ±ν°λ μ΄ 1μκ° 2λΆμ§λ¦¬μλλ° μ λ°λ―Έμ κ°μλ 5λΆ, 10λΆ μ λμ κΈΈμ΄λ‘ λλμ΄μ Έ μμ΄μ μ§μ€λ ₯μ΄ μ’μ§ μμλ λ£κΈ°κ° νΈνλ€.
μ΄ μ±ν°κ° μλ°μ€ν¬λ¦½νΈ μκ³ λ¦¬μ¦ & μλ£κ΅¬μ‘° λ§μ€ν° ν΄λμ€μ μμ μ λ£λ κ²μ μμ΄μ λ§€μ° μ€μν μμ μν μ νλ€κ³ νμ¬ μ§μ€ν΄μ λ€μ΄λ³΄μλ€.
μ΄λ² ννΈμμλ λΉ
μ€μ μ μ, μκ° λ³΅μ‘λ, κ³΅κ° λ³΅μ‘λ κ°λ
μ λν΄μ λ°°μ°κ² λλ€.
μ€λ ν¬μ€ν
μ λΉ
μ€μ μ νν νκΈ°λ°©λ²μ λν΄ μμ보기 μ μ μ½λ μ±λ₯ λΉκ΅κ° μ νμνμ§μ λν΄μ ν¬μ€ν
ν΄λ³Όκ²μ΄λ€. μ°¨κ·Όμ°¨κ·Ό μμν΄λ³΄μ.
λΉ μ€(Big O)κ° νμν μ΄μ μμ보기
μμλΆν° Warningμ΄λΌλ κΈμκ° λμμ λΉν©νμ§λ§, λλΌκ² νλ €λ κ²μ΄ μλλΌ κ²©λ €λ₯Ό ν΄μ£ΌκΈ° μν¨μ΄λΌκ³ νμλ κ°μ¬λγ γ μκ·Όν μ λ¨Έκ°κ°μ΄ μμΌμ νΈμΈ κ² κ°λ€.
1. μκ³ λ¦¬μ¦ νκ°νλ λ°©λ² μκ°ν΄λ³΄κΈ°
λΉ μ€κ° 무μμΈμ§ μλ €λ©΄ λ¨Όμ μκ³ λ¦¬μ¦μ νκ°νλ λ°©λ²μ λν΄μ μκ°ν΄λ³΄μμΌ νλ€.
μ΄λ€ μκ³ λ¦¬μ¦ λ¬Έμ κ° μμΌλ©΄, λͺ¨λ μ¬λμ΄ κ°μ λ°©λ²μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°νμ§λ μλλ€.
κ°μ λ€μν λ°©λ²μ μ¬μ©νμ¬μ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€. κ·Έλ°λ° μ΄λ€ λ°©λ²μ΄ κ°μ₯ μ’μ λ°©λ²μΈμ§ μμλ΄λ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉ?π€
μλ₯Ό λ€μ΄ μλμ κ°μ λ¬Έμ κ° μλ€κ³ κ°μ ν΄λ³΄μ.
"λ¬Έμμ΄μ λ°μμ μ΄κ²μ λ€μ§μ΄ μΆλ ₯νλ functionμ μ°μΈμ"
λ¨Έλ¦Ώμμ μ¬λ¬κ°μ§ ν΄κ²°μ±
λ€μ΄ λ μ€λ₯Ό κ²μ΄λ€.
κ·Έλ¦¬κ³ stack overflowμ κ²μμ ν΄λ³΄μλ μλμ κ°μ μλ§μ κ²°κ³Όλ€μ΄ λμ¨λ€.
μ μΌ μ’μ λ°©λ²μ μμλ΄λ €λ©΄ μ΄λ»κ² ν΄μΌ ν κΉβ
νλνλ μ€νν΄λ³΄κΈ°? 짧μ μ½λ κ³ λ₯΄κΈ°?
μ΄ κ²½μ°μλ κ°λ¨ν μμ μ΄λ―λ‘ κ·Έλ κ² ν΄λ³Ό μλ μκ² μ§λ§, λ§μ½ λ§€μ° λ³΅μ‘ν μ½λμΌ κ²½μ°μλ μ΄λ»κ² ν΄μΌ ν κΉ?
μ΄λ΄ λλ₯Ό λλΉν΄μ μ½λλ₯Ό λΆλ₯ν μ μλ μμ€ν
μ΄ μλ€λ©΄ μΌλ§λ μ’μκΉ?π’
λ°λ‘ μ΄λ° μ μ ν΄κ²°ν΄μ£ΌκΈ° μν΄μ λΉ μ€κ° λμ€κ² λμλ€!
2. λΉ μ€(Big O)λ?
λ€μ κ°μκ° λμ΄μΌ μ νν κ°λ κ³Ό μ¬μ©λ°©λ²μ μκ² λκ² μ§λ§,
μ§κΈ κ°λ΅ν μ€λͺ νλ©΄ "μ¬λ¬ κ°μ§μ΄λ€.
μ΄λ κ² μκ³Ό κ°μ μΌλ‘ νμνλ κ²μ μλμ§λ§, μ μ΄λ μ΄λ€ κ²μ΄ μ’μ μ½λμΈμ§, μ΄λ€ μ½λκ° μλ§μΈ μ½λμΈμ§ Big Oλ₯Ό μ¬μ©νλ©΄ ꡬλΆν μ μλ€.π
κ·Έλ°λ° μ΄λ° μκ°μ΄ λ€ μλ μλ€. μ½λκ° λμκ°κΈ°λ§ νλ©΄ λμ§... μ±λ₯κΉμ§ λ°μ§ νμκ° μλ?
μ΄λ€ κ°λ¨ν μ½λμμλ μ΄λ° μκ°μ΄ νλ¦¬μ§ μμ μλ μλ€.
νμ§λ§ 볡μ‘ν μ½λλ₯Ό μ¬μ©νμ¬ λ¬Έμ λ₯Ό ν΄κ²°νκ±°λ, νμ¬μμ μ΄λ€ λ¬Έμ λ₯Ό ν΄κ²°ν΄μΌ νλ μν©μ΄ μλ€κ³ μκ°ν΄λ³΄μ.
λ°©λ²μ΄ 2κ°μ§κ° μλ μν©μμ 1λ² λ°©λ²μ΄ 2λ² λ°©λ²λ³΄λ€ 1μκ°μ΄ λΉ λ₯΄λ€λ©΄?
λΉμ¦λμ€μμ μκ°μ 곧 λμ΄λ€.π±
λ¬Έμ νλμ 1μκ°μ΄λΌλ©΄ μ¬λ¬ λ¬Έμ κ° ν©μ³μ§λ€λ©΄ μμ²λ μκ° μ°¨μ΄κ° λ°μν κ²μ΄κ³ , 곧 λΉμ©κ³Ό μ§κ²°λλ©°, μ΄λ νλ‘κ·Έλ¨μ μ±λ₯κ³Όλ μ§κ²°λλ€.
μ΄μ²λΌ μ½λμ μ±λ₯μ λ°μ Έλ³΄λ μΌμ λ§€μ° μ€μνλ€. κ·Έλ°λ° μ΄λ»κ² νλ©΄ μ½λμ μ±λ₯μ λ°μ Έλ³Ό μ μμκΉ?π€
3. μ½λ μκ° μ¬λ³΄κΈ°
μμ λ κ°μ§ μμλ₯Ό μμ μκ°μ μΈ‘μ νμ¬ μ½λ μ±λ₯μ λΉκ΅ν΄λ³΄μ. μμμκ° λΉκ΅μλ performance.now( ) ν¨μλ₯Ό μ¬μ©νλ€. μ½λ μμ μ κ³Ό νμ μ°¨μ΄λ₯Ό μ΄μ©νμ¬ μκ°μ ꡬνλ€.
1.25μ΄μ 0.00010μ΄κ° λμ¨λ€. μ¦ μκ° μμκ° μ§§μ μ½λκ° μ’μ μ½λλΌλ©΄ μ€λ₯Έμͺ½μ κ²½μ°κ° λ μ’μ μ½λλΌκ³ ν μ μλ€.
νμ§λ§, λ§€λ² μ½λλ§λ€ performance.now( )λ₯Ό μ¨μ μκ°μ ꡬν΄λ³΄λ κ²μ λ무 λΉν¨μ¨μ μ΄λ€. κ·Έλ¦¬κ³ μκ°μΌλ‘ λΉκ΅ μμλ μλμ κ°μ λ¬Έμ μ μ΄ μλ€.
- κΈ°κΈ°λ§λ€ λ€λ₯Έ λ°©μμΌλ‘ μκ°μ κΈ°λ‘νμ¬ μ€μ°¨ λ°μ κ°λ₯μ±μ΄ μ‘΄μ¬νλ€.
- κ°μ κΈ°κΈ°λΌλ μ¬μ©λ°©λ²μ λ°λΌ λ€λ₯Έ μκ°μ μΈ‘μ ν μ μμ΄ μ€μ°¨κ° λ°μνλ€.
- λ§€μ° λΉ λ₯Έ μκ³ λ¦¬μ¦μ κ²½μ°, λ무 짧μ μκ°μ΄ μΈ‘μ λμ΄ μ νλκ° λ¨μ΄μ§ μ μλ€.
λ°λΌμ μκ° λΉκ΅λ§μΌλ‘λ μΆ©λΆν μ½λ μ±λ₯ λΉκ΅λ°©λ²μ΄λΌκ³ λ³Ό μ μλ€.
4. μ°μ°μ κ°μ μΈμ΄λ³΄κΈ°
μμμ λ΄€λ―μ΄ μκ° λ§μΌλ‘ μ½λ μ±λ₯μ λΉκ΅νκΈ°μλ μ΄λ €μμ΄ λ§λ€. κ·ΈλΌ λ€λ₯Έ λ°©λ²μ μ΄λ€ κ²μ΄ μμκΉ?
λ°λ‘ μλμ κ°μ΄ μ°μ°μ κ°μλ₯Ό λΉκ΅ν΄ 보λ λ°©λ²μ΄ μλ€.
μμ μμλ κ³±μ , λ§μ , λλμ μ΄ 3λ²μ μ°μ°μ νλ€.
forλ¬Έμ΄ μλ μμ μμμ κ²½μ°, for 루ν μμ μ°μ°κ³Ό 루ν λ°μ μ°μ°μΌλ‘ λλμ΄μ μκ°ν μ μλ€.
λ§μ½ nμ΄ 5λΌλ©΄ 5λ², 10μ΄λΌλ©΄ 10λ² μ΄λ κ² for loopμμ μ°μ°μ nμ κ°μ λ°λΌμ λ³νλ€.
μ¦, nλ²μ μ°μ°μ νλ€κ³ μκ°ν΄μΌ μ³λ€. μμ μμλ μ΄ 5n + 2λ²μ μ°μ°μ νλ€.
μ½λ μ±λ₯μ λΉκ΅ν λ λ§€λ² μ΄λ κ² μΈ‘μ ν΄μΌ νλ κ²μ μλλ€. μ€μν κ²μ ν° κ·Έλ¦ΌμΌλ‘ μκ°ν΄μΌ νλ€λ μ μ΄λ€.
3λ²κ³Ό 5n + 2λ₯Ό λΉκ΅νλ©΄ nμ΄ μ»€μ§μλ‘ 5n + 2μ κ°μ΄ 컀μ§κ³ , μ무리 μ«μκ° λ°λμ΄λ 3λ²μ μ°μ°μ΄ λ μμΌλ―λ‘ μ΄ λ°©λ²μ΄ λ μ’μ μ½λλΌκ³ λ³Ό μ μλ€.
νμ§λ§ 5n + 2λ , 3nμ΄λ , 50n μ΄λ μ€μν κ²μ μ°μ°μ nλ²μ΄ λ€μ΄κ°λ€λ μ μ΄λ€. nμ΄ μ»€μ§μλ‘ μ°μ°μ κ°μλ λΉλ‘μ μΌλ‘ λμ΄λλ€.
κ²°λ‘
- Big Oλ μ½λμ μ±λ₯μ λΉκ΅νκΈ° μν΄μ λμ€κ² λ κ°λ μ΄λ€.
- μ½λ μμ μκ°μΌλ‘λ§ λΉκ΅νλ©΄ μ»΄ν¨ν°μ λ°λΌ λ€λ₯Έ κ°μ΄ λμ€κ±°λ, κ°μ κΈ°κΈ°λΌλ λ€λ₯Έ κ²°κ³Όκ°μ΄ λμ¬ μ μλ λ±μ λ¬Έμ κ° μμ΄μ μ ν©νμ§ μλ€.
- μ°μ°μ κ°μλ‘ λΉκ΅νλ λ°©λ²μ νλνλ λ°μ§κΈ°λ³΄λ€ ν° κ·Έλ¦ΌμΌλ‘ 보μμΌ νλ€.
- μ¦ 2κ°μ§ λ°©λ²μ ν©μΉ λ°©λ²μ΄ νμνλ€. (ππ» Big O)
λ€μ ν¬μ€ν λΆν° 본격μ μΌλ‘ Big Oμ μ¬μ©λ°©λ²κ³Ό μκ° λ³΅μ‘λ, κ³΅κ° λ³΅μ‘λλ₯Ό ꡬνλ λ°©λ²μ λν΄ μ 리ν΄λ³Ό κ²μ΄λ€.
'Udemy' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μ€ννΈ μλ μ λ°λ―Έ] - μ±λ¦°μ μ λ° & μκ°μμ (0) | 2022.05.06 |
---|
λκΈ