sicp ch2 3 - andstudy/forge GitHub Wiki
SICP/2.3 κΈμλ°μ΄ν°
λ°νλ΄μ©
- SICP/2.3 κΈμλ°μ΄ν°
- 2.3.1 λ°μ΄ν μ°μ°
- 2.3.2 μ°μ΅: κΈμ μμ λ―ΈλΆ
- 2.3.3 μ°μ΅ : μ§ν©μ λνλ΄λ λ°©λ²
- 2.3.4 μ°μ΅ : ννλ§ μΈμ½λ© λ무 (κ°μ)
2.3.1 λ°μ΄ν μ°μ°
-
lispμ λ¬Έμλ₯Ό λ°μ΄ν°λ‘ μ¬μ©ν μ μλ€.
(define a 1) (define b 2) (list a b) >> (1 2) (list `a `b) >> (a b) (list `a b) >> (a 2) (car `(a b c)) >> a (cdr `(a b c)) >> (b c) -
p186 memq μ€λͺ
-
p187(2.53) μ€λͺ
-
p187(2.54) μ€λͺ (2.3.2μμ μ¬μ©λλ νλ‘μμ )
2.3.2 μ°μ΅ κΈμ μμ λ―ΈλΆ
-
κΈμλ‘ μ΄λ£¨μ΄μ§ λμμμ λ―ΈλΆ νλ‘μμ λ₯Ό μ€κ³ν΄ 보μ.
-
λμμκ³Ό λ³μλ₯Ό μΈμλ‘ λ°μμ κ·Έ λ³μλ‘ λ―ΈλΆν λμμμ λ΄λλλ€.
- =>μμκ³Ό λ³μ. 2κ°μ μΈμλ₯Ό λ°λ λ―ΈλΆ νλ‘μμ λ₯Ό λ§λ€μ΄λ³΄μ.
- μ λ ₯:ax^2+bx+c, x
- μΆλ ₯:2ax+b
-
2.2.1μ μμ μ¬μ©νλ μ 리μ μμ€ν κ°λ°ν λμ λ§μ°¬κ°μ§λ‘ βλ°μ΄ν° μμ½βμ μ΄μ©νμ¬ μ°μ μλ§κ² λ¬Έμ λ₯Ό κ°μΆλ¦¬λ κ²μ μ΄μ μ λ‘λλ€. =>λ¬Έμ κ°μΆλ¦¬κΈ°
-
λ―ΈλΆ κ³΅μμ μμ보μ
-
dc/dx = 0
-
dx/dx = 1
-
d(u+v)/dx = du/dx+dv/dx ν©μ 곡μ
-
d(uv)/dx = u(dv/dx)+v(du/dx)κ³±μ 곡μ
-
f(x)=c =>fβ(x) = 0 c=μμ
-
y=f(x) =>yβ = fβ(x) = 1
-
y=f(x)+g(x) =>yβ = fβ(x)+gβ(x) ν©μ곡μ
-
y=f(x)g(x) =>yβ = fβ(x)g(x)+f(x)gβ(x) κ³±μ곡μ
-
νμν κΈ°λ₯μ μμ 보μ
-
λ―ΈλΆκ³΅μ(κ·μΉ)μ μ΄μ©νμ¬ μ(μ λ ₯)μ λ£μ΄ λ―ΈλΆλ μ(μΆλ ₯)μ ꡬνλ νλ‘μμ λ‘ νννλ €λ©΄ μμ΄ λ§μ μμΈμ§ κ³±μ μμΈμ§ μμμΈμ§ λ³μμΈμ§ μμ 보λ κΈ°λ₯(μ΄λ€ κ·μΉμ μ μ© μν¬μ§)μ΄ νμνκ³ , λ λ§μ μμ΄λΌλ©΄ λνμ μμ λ§μ κ³±μ μμ΄λΌλ©΄ κ³±νμ μμ κ³± μλ₯Ό λ½λ κΈ°λ₯(κ·μΉμ μ μ©μμΌ λμ¨ λ―ΈλΆ μμμ μ΄λ»κ² νν ν μ§)μ΄ νμν©λλ€.
-
κΈ°λ₯μ κ°μΆλ € 보μ.
- λ―ΈλΆμμ λ³μλ κΈμλ‘ λνλΈλ€.
- μ΄λ€ κ°μ΄ κΈ°νΈμΈμ§ μλμ§ μμ보λ κΈ°λ³Έ νλ‘μμ λ symbol?μ΄λ€.
- λ³μλ₯Ό λνλ΄λ λ κΈ°νκ° eq?νλ€λ©΄, λ λ³μλ κ°λ€.
- λ§μ μκ³Ό κ³±μ μμ 리μ€νΈλ₯Ό μ¨μ μ§λ§μΆλ€.
- λ§μ μμ 첫 λ²μ§Έ μμκ° +κΈ°νΈλ‘ μμλλ 리μ€νΈμ΄λ€.
- λνμμλ 리μ€νΈμ 2λ²μ§Έ μμμ΄λ€.
- λ§μλ λ§μ 리μ€νΈμ΄ 3λ²μ§Έ μμμ΄λ€.
- κ³±μ μμ 첫 λ²μ§Έ μμκ° *κΈ°νΈλ‘ μμλλ 리μ€νΈμ΄λ€.
- κ³±νμμλ κ³±μ 리μ€νΈμ 2λ²μ§Έ μμμ΄λ€.
- κ³±μλ κ³±μ 리μ€νΈμ 3λ²μ§Έ μμμ΄λ€.
-
-
p190 deriv μ€λͺ
-
λ°μ λ deiv νλ‘μμ λ₯Ό λ§λ€μ
-
=> derive νλ‘μμ λ₯Ό μ΄μ©νμ¬ x+3μ λ―ΈλΆνλ©΄ (+ 1 0)μ μΆλ ₯νλ€.
-
=> λ΅μ λ§μ§λ§, μμ λ³΄κΈ°κ° νλλ―λ‘ μ’λ μμ보기 μ½κ² μΆλ ₯λλλ‘ μμ ν΄ λ³΄μ.
-
=> derivνλ‘μμ λ κ·Έλλ‘ μ¬μ©νκ³ make-sumκ³Ό make-product νλ‘μμ λ₯Ό μμ νλλ‘ νλ€.
-
λ§μ μ κ²½μ°
- λνμ μ νΉμ λ§μκ° 0μΈ κ²½μ° μμ΄μ Έλ 무방νλ€.
- λνμ μμ λ§μκ° λ λ€ μ«μμΌ κ²½μ° λ§μ μ°μ°μ μ§ννλ€.
- κ·ΈμΈμ κ²½μ°μ μμ μ²λΌ μΆλ ₯μν¨λ€.
-
κ³±μ μ κ²½μ°
- κ³±νμ μ νΉμ κ³±μκ° 0μΈκ²½μ° ν΄λΉ νμ΄ μμ΄μ§λ€.
- κ³±νμ μ νΉμ κ³±μκ° 1μΈ κ²½μ° λλ¨Έμ§νλ§ μΆλ ₯νλ€.(x*1=x)
- κ³±νμ μμ κ³±μκ° λͺ¨λ μ«μμΌ κ²½μ° κ³±μ μ°μ°μ μ§ννλ€.
- κ·ΈμΈμ κ²½μ°μ μμ μ²λΌ μΆλ ₯μν¨λ€.
-
-
p194 advanced deriv μ€λͺ
-
p194(2.56) μ€λͺ
-
p195(2.57) μ€λͺ (2λ§λ μ΄μ μ°μ° κ°λ₯)
2.3.3 μ°μ΅ : μ§ν©μ λνλ΄λ λ°©λ²
-
μκ³ λ¦¬μ¦μ 볡μ‘λμ κ΄λ ¨λ λ΄μ©μ μ§ν©μ ν΅ν΄μ μ΄ν΄λ³Έ μ±ν°μ΄λ€.
-
μ°¨λ‘ μλ 리μ€νΈλ‘ ννν μ§ν©(unordered list)
-
μ°¨λ‘ λ§€κΈ΄ 리μ€νΈλ‘ ννν μ§ν©(ordered list)
-
λ κ°λ λλ¬΄λ‘ ννν μ§ν©(binary tree)
-
μλμ κ°μ μ§ν©μ΄ μ‘΄μ¬ ν λ λ μ§ν©μ κ΅μ§ν©μ κ΅¬ν΄ λ³΄μ.
-
리μ€νΈ1= 4 2 1 9
-
리μ€νΈ2= 6 8 2 4
-
unordered listμ κ²½μ°
-
μ΄ 16λ²μ λΉκ΅ μ°μ°μ΄ νμ O(n^2)
-
-
p197(2.59) μ€λͺ
-
orderde listμ κ²½μ°
-
리μ€νΈ1= 1 2 3 9
-
리μ€νΈ2= 2 4 6 8
-
1-2,2-2,3-2,3-4,9-2,9-4,9-6,9-8
-
μ΄ 8λ²μ λΉκ΅ μ°μ°μ΄ νμ O(n)
-
1|2,2|2,3|4,9|4,9|6,9|8
-
2|4,3|4,9|6,0|6,0|8
-
3|6,9|6,0|8,0|8,
-
9|8,0|8,
-
μ΄ 6λ²μ λΉκ΅ μ°μ°μ΄ νμ O(n/2) = O(n)
-
-
p200 μ€λͺ
- binary treeμ κ²½μ°
- μ€λͺ Olog(n)
-
p201(2.61)μ€λͺ
- μ§ν©μμ μ 보 μ°Ύμλ΄κΈ°
- unordered list κ°μ λ¨μν λ°©λ²μΌλ‘ 빨리 μμ ν ν, μ μ°¨ κ°μ ν΄ λκ°λ€.