λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°

자료ꡬ쑰 및 μ‹€μŠ΅

자료ꡬ쑰 및 μ‹€μŠ΅ - [2] μž¬κ·€ (1)

μž¬κ·€ μ•Œκ³ λ¦¬μ¦˜

μž¬κ·€ μ•Œκ³ λ¦¬μ¦˜μ΄λž€ μ•Œκ³ λ¦¬μ¦˜ μžμ‹ μ„ μ‚¬μš©ν•΄ μ •μ˜λœ μ•Œκ³ λ¦¬μ¦˜μ„ λ§ν•œλ‹€. λ‹€μ‹œ 말해 자기 μžμ‹ μ„ μ•Œκ³ λ¦¬μ¦˜ μ•ˆμ—μ„œ 계속 ν˜ΈμΆœν•˜λŠ” 것이닀. μž¬κ·€ μ•Œκ³ λ¦¬μ¦˜μ€ κ³„μ†ν•΄μ„œ 자기 μžμ‹ μ„ ν˜ΈμΆœν•˜κΈ° λ•Œλ¬Έμ— μžμΉ«ν•˜λ©΄ λ¬΄ν•œλ£¨ν”„λ₯Ό 돌 수 μžˆλ‹€. λ”°λΌμ„œ μž¬κ·€ ν•¨μˆ˜λ₯Ό ꡬ성할 λ•Œμ—λŠ” 두 κ°€μ§€ μš”μ†Œκ°€ ν•„μš”ν•˜λ‹€.

μž¬κ·€ μΌ€μ΄μŠ€ (Recursion) : μ°¨ν›„μ˜ μž¬κ·€ν˜ΈμΆœμ€ μž‘μ•„μ§„ λΆ€λ¬Έμ œλ“€(subproblems)을 λŒ€μƒμœΌλ‘œ 이루어진닀.
베이슀 μΌ€μ΄μŠ€(base case): λΆ€λ¬Έμ œλ“€μ΄ μΆ©λΆ„νžˆ μž‘μ•„μ§€λ©΄, μ•Œκ³ λ¦¬μ¦˜μ€ μž¬κ·€λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  이듀을 직접 ν•΄κ²°ν•œλ‹€

λ‹€μ‹œ 말해 μž¬κ·€ν•¨μˆ˜λŠ” 더 μž‘μ•„μ§€λŠ” λ°©ν–₯으둜 μ§„ν–‰λ˜μ–΄μ•Ό ν•˜κ³  (베이슀 μΌ€μ΄μŠ€λ₯Ό ν–₯ν•΄ 진행됨) 베이슀 μΌ€μ΄μŠ€μ—μ„œλŠ” 더 이상 μž¬κ·€λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  μ•Œκ³ λ¦¬μ¦˜μ΄ μ’…λ£Œλ˜μ–΄μ•Ό ν•œλ‹€.

 


μž¬κ·€μ˜ μž‘λ™μ›λ¦¬

μž¬κ·€μ˜ μž‘λ™μ›λ¦¬λ₯Ό λ¨Όμ € 그림으둜 보자.

μž¬κ·€ν•¨μˆ˜μ˜ μž‘λ™μ›λ¦¬

μž¬κ·€μ˜ 단계 별 μˆ˜ν–‰μ„ 보도둝 ν•˜μž.

1. μ•Œκ³ λ¦¬μ¦˜μ„ μˆ˜ν–‰ν•œλ‹€.
2. μˆ˜ν–‰ 쀑 μž¬κ·€ν•¨μˆ˜κ°€ ν˜ΈμΆœλœλ‹€.
3. 기쑴에 μˆ˜ν–‰ν•˜λ˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ™„λ£Œν•˜μ§€ μ•Šκ³  호좜된 μž¬κ·€ μ•Œκ³ λ¦¬μ¦˜μ„ 베이슀 μΌ€μ΄μŠ€κΉŒμ§€ μˆ˜ν–‰ν•œλ‹€.
4.  베이슀 μΌ€μ΄μŠ€κ°€ μ’…λ£Œλ˜λ©΄, μ΄μ „μœΌλ‘œ λŒμ•„μ™€ μ•Œκ³ λ¦¬μ¦˜μ„ λ§ˆμ € μˆ˜ν–‰ν•œλ‹€.
5. 처음 ν˜ΈμΆœν–ˆλ˜ μ•Œκ³ λ¦¬μ¦˜μ΄ μ™„λ£Œλ  λ•ŒκΉŒμ§€ λ°˜λ³΅ν•΄μ„œ λŒμ•„κ°„λ‹€.

κ·Έλ¦Όμ—μ„œ λ³Ό 수 μžˆλ“―μ΄ μˆ˜ν–‰ μˆœμ„œλŠ” 1->2->3->...->9->10이닀. μ€‘μš”ν•œ 것은 λ˜ λ‹€λ₯Έ μž¬κ·€ν•¨μˆ˜κ°€ 호좜되면 μˆ˜ν–‰ν•˜λ˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ™„λ£Œν•˜μ§€ μ•Šκ³  λ°”λ‘œ λ‹€λ₯Έ μž¬κ·€ ν•¨μˆ˜λ‘œ λ„˜μ–΄κ°„λ‹€λŠ” 것이닀.

 


μž¬κ·€μ˜ κΈ°λ³Έ κ·œμΉ™

- 베이슀 μΌ€μ΄μŠ€
  베이슀 μΌ€μ΄μŠ€λ₯Ό 항상 κ°€μ Έμ•Ό ν•˜λ©°, μ΄λŠ” μž¬κ·€ 없이 해결될 수 μžˆμ–΄μ•Ό ν•œλ‹€.
- μ§„ν–‰λ°©ν–₯
  μž¬κ·€μ μœΌλ‘œ ν•΄κ²°λ˜μ–΄μ•Ό ν•  경우, μž¬κ·€ν˜ΈμΆœμ€ 항상 베이슀 μΌ€μ΄μŠ€λ₯Ό ν–₯ν•˜λŠ” λ°©ν–₯으둜 μ§„ν–‰λ˜μ–΄μ•Ό ν•œλ‹€.
- μ •μƒμž‘λ™ κ°€μ •
  λͺ¨λ“  μž¬κ·€ν˜ΈμΆœμ΄ μ œλŒ€λ‘œ μž‘λ™ν•œλ‹€κ³  κ°€μ •ν•˜λΌ!
- μ μ ˆν•œ μ‚¬μš©
  κΌ­ ν•„μš”ν•  λ•Œλ§Œ μ‚¬μš©ν•˜λΌ, μ €μž₯/볡ꡬ λ•Œλ¬Έμ— μ„±λŠ₯이 μ €ν•˜λ˜κΈ° λ•Œλ¬Έμ΄λ‹€.

μ•žμ„œ λ§ν–ˆλ“―, μž¬κ·€ ν•¨μˆ˜λŠ” κ³„μ†ν•΄μ„œ ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•˜κΈ° λ•Œλ¬Έμ— μ’…λ£Œν•  수 μžˆμ–΄μ•Ό ν•œλ‹€. 그러기 μœ„ν•΄μ„œλŠ” μ§„ν–‰λ°©ν–₯이 베이슀 μΌ€μ΄μŠ€λ₯Ό ν–₯ν•΄μ•Ό ν•˜κ³ , 베이슀 μΌ€μ΄μŠ€λŠ” μž¬κ·€ 없이 ν•΄κ²°λ˜μ–΄μ•Ό ν•œλ‹€.

λ˜ν•œ μž¬κ·€ν•¨μˆ˜λŠ” 또 λ‹€λ₯Έ μž¬κ·€ν•¨μˆ˜κ°€ 호좜되면 μˆ˜ν–‰ν•˜λ˜ μ•Œκ³ λ¦¬μ¦˜μ„ μ™„λ£Œν•˜μ§€ μ•Šκ³  λ°”λ‘œ λ‹€λ₯Έ μž¬κ·€ ν•¨μˆ˜λ‘œ λ„˜μ–΄κ°€κΈ° λ•Œλ¬Έμ— λ©”λͺ¨λ¦¬λ₯Ό 많이 μ°¨μ§€ν•˜μ—¬ μ„±λŠ₯이 μ €ν•˜λ  수 μžˆμœΌλ―€λ‘œ 적절히 μ‚¬μš©ν•΄μ•Ό ν•œλ‹€!

 

베이슀 μΌ€μ΄μŠ€κ°€ μ‘΄μž¬ν•˜μ§€ μ•Šκ±°λ‚˜, 도달할 수 μ—†λŠ” μž¬κ·€, λ˜λŠ” μž¬κ·€ μΌ€μ΄μŠ€κ°€ 베이슀 μΌ€μ΄μŠ€λ₯Ό ν–₯ν•΄ κ°€μ§€ μ•ŠλŠ”λ‹€λ©΄ μž˜λͺ» μ„€κ³„λœ μž¬κ·€μ΄λ‹€. μ΄λŠ” λΆ€μ •ν™•ν•œ κ²°κ³Ό, λ―Έμ •μ§€(nonretmination), μ €μž₯을 μœ„ν•œ κΈ°μ–΅μž₯μ†Œ 고갈의 영ν–₯을 λΌμΉœλ‹€.

 

728x90