[CS] APS, μκ° λ³΅μ‘λ μ 리
π APSλ 무μμΈκ°
APS : Algorithm Problem Solving
λλ κ°μμμ μ²μ λ£κ² λ APS,, νλ² μ 리ν΄λ³΄λ € νλ€.
μ°μ APSλ μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ λ°©λ²μ λ§νλ€.
μκ³ λ¦¬μ¦ λ¬Έμ νμ΄λ²μλ λ§μ κ²λ€μ΄ μκ³ , κ·Έμ€μμ μ£Όμ΄μ§ λ¬Έμ μ λ°λΌ μνλ κ²°κ³Όλ₯Ό λΌ μ μλλ‘ νλ‘κ·Έλ¨μ μμ±νλ κ²μ΄ λͺ©νμ΄λ€.
κ·Έλ λ€λ©΄ APS 곡λΆλ μ ν΄μΌ ν κΉ ??
1. μκ³ λ¦¬μ¦ νμ΄λ²μ 곡λΆνλ©΄μ λ¬Έμ ꡬνλ ₯μ κΈ°λ₯Ό μ μλ€.
2. λ€μν λ¬Έμ κ° λ°μνλ κ²½μ°μ λλ²κΉ κ²½νμ μμ μ μμ κ²μ΄λ€.
- μκ³ λ¦¬μ¦ λ¬Έμ νμ΄λ₯Ό νλ©° λ°μνλ μ€λ₯λ€μ μ ν΄λ³΄κ³ , μ΄λ¬ν μ€λ₯λ₯Ό ν΄κ²°ν΄ λκ°λ κ³Όμ μ체μμ μ°λ¦¬λ λ§μ κ²μ λ°°μ°κ³ μ±μ₯ν μ μλ€.
3. λ Όλ¦¬μ μΌλ‘ μ¬κ³ νλ λ²μ λ°°μ°κ² λλ€.
- μ¬λ¬ μκ³ λ¦¬μ¦μ μ μ©νλ©° λ¬Έμ λ₯Ό νλ©΄μ λ Όλ¦¬μ μΌλ‘ λ¬Έμ λ₯Ό νμ΄κ°λ λ°©λ²μ λν΄ λ°°μΈ μ μλ€.
μ΄λ¬ν APSμ λͺ©νλ μ€νμκ°μ μ€μ΄λ κ²μ μλ€. μ μ μ€νμκ°μΌλ‘ μ ννκ² λ¬Έμ λ₯Ό νΈλ κ²μ΄ κ°μ₯ μ€μνλ€.
λλ μκ³ λ¦¬μ¦ λ¬Έμ λ₯Ό 본격μ μΌλ‘ νκΈ° μμνλ©΄μ μ€νμκ°μ μ€μ΄κΈ° μν κ³ λ―Όμ νκ² λμλ€. λμ€μ λ 곡λΆνκ³ λ§μ λ¬Έμ λ€μ νμ΄λ³΄λ©΄μ, κ°μ νμ΄μμλ μ€ν μκ°μ μ€μΌ μ μλ λ°©λ²μ κ³ λ―Όν΄ λ³΄κ³ μ λ¦¬ν΄ μ¬λ¦΄ κ³νμ΄λ€.
β± μκ° λ³΅μ‘λ
μλνλ μκ³ λ¦¬μ¦μ μ·¨ν΄ μκ°μ μ λννλ κ²μ΄λ€. μκ³ λ¦¬μ¦μ μκ°λ³΅μ‘λλ μ£Όλ‘ λΉ -μ€ νκΈ°λ²μ μ¬μ©νμ¬ λνλΈλ€. - by. μν€λ°±κ³Ό
λ€μ μ€λͺ νμλ©΄ μκ° λ³΅μ‘λλ μ€νλλ λͺ λ Ήλ¬Έμ κ°μμ λ‘μ§μ ν΅ν΄ νλ‘κ·Έλ¨ μ€ν μ 걸리λ μκ°μ λνλΈ ν¨μμ΄λ€.
μ€νμκ°μ μ€μ΄κΈ° μν΄μ, μ¦ ν¨μ¨μ μΌλ‘ μκ³ λ¦¬μ¦μ μ§κΈ° μν΄μλ μ λ ₯κ°μ΄ 컀μ§λλΌλ μ μ μ°μ°μ ν΅ν΄ κ²°κ³Όλ₯Ό μ°Ύμ μ μλ μκ°μ λ¨μΆμν€λ κ²μ΄ μ€μνλ€.
μ΄λ¬ν μκ° λ³΅μ‘λλ₯Ό λνλ΄λ κ²μ΄ λ°λ‘ Big-O νκΈ°λ²μ΄λ€.
μλ μ λ νμΌλ‘ λΉ μ€ νκΈ°λ²μ λν΄ κ³΅λΆλ₯Ό νλ €λ€κ° λ¬΄μ¨ λ§μΈμ§ λͺ¨λ₯΄κ² κ³ , μμ λ₯Ό μ νκΈ° μ΄λ €μ ν¬κΈ°νμλλ° μΈνΌμμ λ°°μ°λκΉ μκ°λ³΄λ€ μ΄λ €μ΄ λ΄μ©μ΄ μλλΌ λΉν©νλ€ ..
π Big-O νκΈ°λ²
Big-O νκΈ°λ²μ κ²½μ° μ°μ°μ΄ κ°μ₯ λ§μ΄ μΌμ΄λλ κ²½μ°(μ΅μ μ κ²½μ°)λ₯Ό κ°μ νλ€.
μλ₯Ό λ€μ΄, λ°°μ΄μ μμμλΆν° νλμ© λΉκ΅λ₯Ό μ°Ύμ λ {1, 44, 8, 34, 59, 90, 50}μ΄λΌλ λ°°μ΄μ΄ μμ κ²½μ° 50μ΄λΌλ κ°μ μ°ΎκΈ° μν΄μλ 7λ²μ λΉκ΅ λμ 50μ μ°Ύμ μ μμ κ²μ΄λ€. μ΄μ κ°μ κ²½μ°λ₯Ό μκ°λ³΅μ‘λμμ μ΅μ μ κ²½μ°λΌκ³ νκ³ , 1μ μ°Ύλ κ²½μ° ν λ²μ λ°λ‘ μ°Ύμ μ μκΈ° λλ¬Έμ μ΅μ μ κ²½μ°λΌκ³ νλ€.
μ§κΈμ μμλ μμκ° 7κ°μ λΆκ³Όνμ§λ§ μμμ κ°μκ° 10000κ°λ₯Ό λμ΄κ°λ€λ©΄ μ΄λ¨κΉ ? μλ§ μ΅μ μ κ²½μ°μ μ΅μ μ κ²½μ° μ°¨μ΄κ° κ½€ μ»€μ§ κ²μ΄λ€.
μ΄λ κ² λ€μν κ²½μ°μ μ μ€μμ κ°μ₯ μ°μ°μ΄ μ€λ 걸리λ κ²½μ°λ₯Ό λλΉν΄μΌ νκΈ° λλ¬Έμ, Big-O νκΈ°λ²μ μμ£Ό μ¬μ©νκ² λλ€.
Big-O νκΈ°λ²μ μ’ λ₯

μμ κ·Έλνλ Big O μκ° λ³΅μ‘λμμ μμ μμ λ°λ₯Έ μ°μ° μλ₯Ό λνλΈ κ·Έλνμ΄λ€.
O(log n), O(n)μ κ²½μ° μμμκ° λ§μ΄ λμ΄λλλΌλ μ°μ° μκ° ν¬κ² μ°¨μ΄ λμ§ μλλ°, O(n!)μ΄λ O(2^n)κ³Ό κ°μ κ²½μ°μλ μμμκ° 10λ§ λλλΌλ μ°μ°μ μκ° κΈ°νκΈμμ μΌλ‘ λμ΄λλ κ²μ λ³Ό μ μλ€.
μ΄λ¬ν μκ° λ³΅μ‘λλ₯Ό μκ³ λλ©΄, λ¬Έμ λ₯Ό ν λμ μ΄λ€ μκ³ λ¦¬μ¦μ μ μ©ν΄μΌ μκ°μ΄κ³Όκ° μΌμ΄λμ§ μμ μ μμμ§ μμνλ©° ν μ μκ² λλ€.
κ·ΈλΌ λ€μμλ λͺ κ°μ§ μ λ ¬μ 보면μ μκ° λ³΅μ‘λλ₯Ό ꡬν΄λ³΄λλ‘ νμ.