1. Perspective on Programming ¶
1.1. A Case Study ¶
- μ΄λ€ νλ‘κ·Έλ¨μ΄ 1λ
κ±Έλ Έμλλ° λ¨κ³λ³λ‘ μͺΌκ°μ νλμ νλλ ν루λ§μ λλλΌνλ λ΄μ©μ΄ μμ΄μλ€.
- κ·Έ λ¨κ³λ₯Ό μ΄ν΄λ³΄λ©΄,
- μκ³ λ¦¬μ¦κ³Ό μλ£κ΅¬μ‘°μ κ΅μ²΄ : Sequential νκ²μ Binary Treeλ‘ κ΅μ²΄ν¨μΌλ‘μ¨ O(n*n)μ΄ O(n*lg n)μΌλ‘ μ€μλ€.
- μκ³ λ¦¬μ¦μ νλ
- μλ£κ΅¬μ‘°μ κ°μ‘°
- μ½λ νλ
- μμ€ν
λ
립μ μΈ μ½λ νλ : doubleνλ³΄λ€ μκ°μ΄ μ λ° μ λ 걸리λ floatλ₯Ό μΌλ€.
- μμ€ν
μμ‘΄μ μΈ μ½λ νλ : ν¬λ¦¬ν°μ»¬ν λΆλΆμ μ΄μ
λΈλ¦¬λ‘ λ€μ μ§°λ€.
- νλμ¨μ΄ μ
κΈ : λΆλμμ«μ μ°μ° κ°μκΈ°λ₯Ό μ¬μ©
- μ΄ κ°κ°μ λ¨κ³μμ λΉ¨λΌμ§ λ§νΌμ λ€ κ³±νλ λλ΅ 400μ΄ λμ€λλΌνλ λ΄μ©μ΄ μμ΄μλ€.
1.2. Design Level ¶
- λμμΈ λ 벨μ κ΄ν κ°μ΄λ
- λ¬Έμ μ μ
- μμ€ν
ꡬ쑰
- μκ³ λ¦¬μ¦κ³Ό μλ£κ΅¬μ‘°
- μ½λ νλ
- μμ€ν
μννΈμ¨μ΄
- νλμ¨μ΄
1.3. Principles ¶
- μ¬νν λμμΈμ μ€μμ±μ μ무리 κ°μ‘°ν΄λ μ§λμΉμ§ μλ€.
- μ μ μμ μ€νΌλμ
μ μνλ€λ©΄ κ°μ₯ κ³ μΉκΈ° μ¬μ΄ λΆλΆλ§μ κ³ μΉμ.
- λ§μ μμ μ€νΌλμ
μ μνλ€λ©΄ λ€λ¨κ³λ₯Ό κ³ μΉμ. νκ΅°λ°λ₯Ό κ³ μΉ¨μΌλ‘μ¨ λ€λ₯Έ λΆλΆλ κ³ μΉ κ²μ΄ μκΈ΄λ€.