π μλ£ κ΅¬μ‘°
1. μλ£ κ΅¬μ‘°λ?
μλ£ κ΅¬μ‘°(data structure)λ λ°μ΄ν°λ₯Ό ν¨μ¨μ μΌλ‘ κ΄λ¦¬, μμ , μμ , νμ, μ μ₯νκΈ° μν μ§ν©μ
λλ€.
2. STL (Standard Template Library)
- μ μ: C++μ νμ€ ν
νλ¦Ώ λΌμ΄λΈλ¬λ¦¬λ‘, μ€ν(stack), λ°°μ΄(array), 벑ν°(vector) λ± λ€μν μλ£ κ΅¬μ‘°μ μκ³ λ¦¬μ¦μ μ 곡ν©λλ€.
- νΉμ§:
- μ½λ μ¬μ¬μ©μ± β
- ν¨μ¨μ μΈ μλ£ κ΅¬μ‘° ꡬν
- λ²μ©μ μ΄κ³ μ§κ΄μ μΈ ν¨μ μ 곡
3. 볡μ‘λ (Complexity)
3.1 μκ° λ³΅μ‘λ
- μ μ: μ
λ ₯ ν¬κΈ° (n)μ λ°λΌ μκ³ λ¦¬μ¦μ΄ μ€νλλ λ° κ±Έλ¦¬λ μκ°.
- νκΈ°λ²: λΉ
μ€(Big-O) νκΈ°λ² μ¬μ©.
- μ: (O(1)), (O(n)), (O(n^2)), (O(\log n))
for (int i = 0; i < 10; i++) {
for (int j = 0; j < n; j++) {
for (int k = 0; k < n; k++) {
cout << k << '\\n';
}
}
}
for (int i = 0; i < n; i++) {
cout << i << '\\n';
}
- μ μ½λμ μκ° λ³΅μ‘λ: O(nΒ²)
3.2 κ³΅κ° λ³΅μ‘λ
- μ μ: νλ‘κ·Έλ¨ μ€ν μ νμν λ©λͺ¨λ¦¬ 곡κ°μ μ.
- μμ:
int a[1004]; // 1004 Γ 4λ°μ΄νΈ κ³΅κ° νμ