μκ° λ³΅μ‘λ
π μκ° λ³΅μ‘λ
μκ° λ³΅μ‘λλ₯Ό κ³ λ €νλ€λ κ²
: 'μ λ ₯κ°μ λ³νμ λ°λΌ μ°μ°μ μ€νν λ, μ°μ° νμμ λΉν΄ μκ°μ΄ μΌλ§λ§νΌ 걸리λκ°?'λΌλ λ§μ΄λ€.
- μκ° λ³΅μ‘λλ μ£Όλ‘ λΉ -μ€ νκΈ°λ²μ μ¬μ©ν΄ λνλΈλ€.
π Big-O νκΈ°λ²
1. O(1)
: O(1)λ μΌμ ν 볡μ‘λ(constant complexity)λΌκ³ νλ©°, μ λ ₯κ°μ΄ μ¦κ°νλλΌλ μκ°μ΄ λμ΄λμ§ μλλ€.
- μΌμ ν 볡μ‘λ -> μμν(0μ°¨μ)
*μμ
MenOfPassion(A[], n) {
i = ⌊n / 2⌋;
return A[i]; # μ½λ1
}
- μ λ ₯μ΄ μ무리 μ»€μ Έλ μ½λλ₯Ό 'λ± 1λ²'λ§ μ€νν¨
2. O(n)
: O(n)μ μ ν 볡μ‘λ(linear complexity)λΌκ³ λΆλ₯΄λ©°, μ λ ₯κ°μ΄ μ¦κ°ν¨μ λ°λΌ μκ° λλ κ°μ λΉμ¨λ‘ μ¦κ°νλ κ²μ μλ―Ένλ€.
- μμ: μ λ ₯κ°μ΄ 1μΌ λ 1μ΄μ μκ°μ΄ κ±Έλ¦¬κ³ , μ λ ₯κ°μ 100λ°° μ¦κ° μμΌ°μ λ 100μ΄κ° 걸리λ μκ³ λ¦¬μ¦
3. O(log n)
: O(log n)μ λ‘κ·Έ 볡μ‘λ(logarithmic complexity)λΌκ³ λΆλ₯΄λ©°, Big-O νκΈ°λ² μ€ O(1) λ€μμΌλ‘ λΉ λ₯Έ μκ° λ³΅μ‘λλ₯Ό κ°μ§λ€.
- μμ: BSTμ κ° νμ
- BSTμμ μνλ κ°μ νμν λ, λ Έλλ₯Ό μ΄λν λλ§λ€ κ²½μ°μ μκ° μ λ°μΌλ‘ μ€μ΄λ λ€.
4. O(n2)
: O(n2)μ 2μ°¨ 볡μ‘λ(quadratic complexity)λΌκ³ λΆλ₯΄λ©°, μ λ ₯κ°μ΄ μ¦κ°ν¨μ λ°λΌ μκ°μ΄ nμ μ κ³±μμ λΉμ¨λ‘ μ¦κ°νλ κ²μ μλ―Ένλ€.
- nμ μ κ³±μμ λΉμ¨λ‘ μ¦κ° -> 2μ°¨μ
5. O(2n)
: O(2n)μ κΈ°νκΈμμ 볡μ‘λ(exponential complexity)λΌκ³ λΆλ₯΄λ©°, Big-O νκΈ°λ² μ€ κ°μ₯ λλ¦° μκ° λ³΅μ‘λλ₯Ό κ°μ§λ€.
- μμ: νΌλ³΄λμΉ μμ΄
μ°Έκ³