λ°μν
볡μ‘λ
Complexity
: μκ³ λ¦¬μ¦μ μ±λ₯μ κ°κ΄νΈμΌλ‘ νκ°νλ κΈ°μ€.
- μκ° λ³΅μ‘λ Time Complexity
: μ€νμ νμν μκ°μ νκ°νλ κ². - κ³΅κ° λ³΅μ‘λ Space Complexity
: κΈ°μ΅ μμκ³Ό νμΌ κ³΅κ°μ΄ μΌλ§λ νμνκ°.
μ ν κ²μμ μκ° λ³΅μ‘λ
⻠볡μ‘λλ₯Ό νκΈ°ν λ μ¬μ©νλ Oλ Orderμ μκΈμ μ λλ€.
- νλ²λ§ μ€ννλ κ²½μ° λ³΅μ‘λλ O(1) λ‘ νκΈ°ν©λλ€.
int i = 0;
returnλ¬Έ - λ°λ³΅λ¬Έμ νκ· μ€ν νμλ n/2μ
λλ€.
μ΄ κ²½μ° O(n)μΌλ‘ νκΈ°ν©λλ€.
β» μ»΄ν¨ν°μμλ n/2μ nμ μ°¨μ΄κ° ν¬μ§ μμ μμ κ°μ΄ νκΈ°ν©λλ€.
- μ μ κ°μ μ ν μκ³ λ¦¬μ¦μ 볡μ‘λλ₯Ό κ³μ°ν΄λ³΄λ©΄ μ΄μ κ°μ΅λλ€.
O(1) + O(1) + O(n) + O(n) + O(n) + O(1) = O(max(1, 1, n, n, n, 1)) = O(n) - μμΈν μ€λͺ
νμλ©΄
int i = 0;O(1) + a[n] = k;O(1) + while(true)O(n) + if(a[i] == k)O(n) + i++;O(n) + return i == n?O(1)
λ₯Ό μμλλ‘ μ μ κ²μ λλ€.
μ¬κΈ°μ max() ν¨μλ₯Ό μ΄μ©ν΄ κ°μ₯ ν° κ°μ μ°Ύμλ λλ€. - λ°λΌμ μ ν κ²μμ 볡μ‘λλ O(n)μ λλ€.
β» μ νκ²μμμ forλ¬Έμ΄ νλ μΌ λ O(n)μ΄κΈ° λλ¬Έμ 2μ€forλ¬Έμ 볡μ‘λλ O(n²)μ΄ λ©λλ€.
β» μ΄μ§κ²μμ 볡μ‘λλ κ³μν΄μ λ°μΌλ‘ λλκΈ° λλ¬Έμ O(log n)μ λλ€.
λ¬Έμ νμ΄
λ°μν
'πΈ Algorithm > πΈ μλ£κ΅¬μ‘°μ μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Java/Algorithm]java.util.Arrays μ binarSearch (0) | 2024.10.21 |
---|---|
[Java/Algorithm]μ΄μ§κ²μ Binary search (0) | 2024.10.17 |
[Java/Algorithm]μ νκ²μκ³Ό 보μ΄λ² (0) | 2024.10.17 |
[Java/Algorithm]λ°°μ΄κ³Ό ν΄λμ€ (1) | 2024.10.17 |
[Java/Algorithm]μμμ ν©μ±μ (0) | 2024.08.31 |