AlgorithmπŸ€“

이진희·2022λ…„ 5μ›” 27일
0

κ°œλ…μ •λ¦¬

λͺ©λ‘ 보기
4/10
post-thumbnail

μ•Œκ³ λ¦¬μ¦˜μ΄λž€?

문제 해결을 μœ„ν•œ 단계듀을 μ²΄κ³„μ μœΌλ‘œ λͺ…μ‹œν•œ 것.
계산을 μœ„ν•œ μ ˆμ°¨λ“€.


μ•Œκ³ λ¦¬μ¦˜μ˜ 5가지 μ€‘μš”ν•œ νŠΉμ§•

μœ ν•œμ„±(finiteness)

μ•Œκ³ λ¦¬μ¦˜μ€ 단계듀을 λ°˜λ“œμ‹œ μœ ν•œν•œ 횟수둜 거친 후에 μ’…λ£Œν•΄μ•Ό ν•œλ‹€.

λͺ…ν™•μ„±(definiteness)

μ•Œκ³ λ¦¬μ¦˜μ˜ μˆ˜ν–‰ 과정은 λͺ…ν™•ν•˜κ³  λͺ¨ν˜Έν•˜μ§€ μ•Šμ€ λͺ…λ Ήμ–΄λ‘œ κ΅¬μ„±λ˜μ–΄μ•Ό ν•œλ‹€.

μž…λ ₯(input)

μ•Œκ³ λ¦¬μ¦˜μ€ μ™ΈλΆ€μ—μ„œ μ œκ³΅λ˜λŠ” μžλ£Œκ°€ 0개 이상 쑴재 λ˜λŠ” κ·Έ μ΄μƒμ˜ μž…λ ₯듀을 가진닀.

좜λ ₯(output)

μ•Œκ³ λ¦¬μ¦˜μ€ ν•˜λ‚˜λ‚˜ κ·Έ μ΄μƒμ˜ 좜λ ₯듀을 가진닀.
(λͺ¨λ“  μž…λ ₯에 ν•˜λ‚˜μ˜ 좜λ ₯이 λ‚˜μ˜€λ©΄ μ•ˆλœλ‹€.)

νš¨κ³Όμ„±(effectiveness)

νš¨κ³Όμ μ΄λΌλŠ” 말은,
이둠적으둜 μ•Œκ³ λ¦¬μ¦˜μ˜ λͺ¨λ“  연산듀이 μ‚¬λžŒμ΄ 쒅이와 연필을 μ΄μš©ν•΄μ„œ μœ ν•œν•œ μ‹œκ°„ μ•ˆμ— μ •ν™•ν•˜κ²Œ μˆ˜ν–‰ν•  수 μžˆμ„ μ •λ„λ‘œ μΆ©λΆ„νžˆ λ‹¨μˆœν•΄μ•Ό ν•œλ‹€λŠ” μ˜λ―Έμ΄λ‹€.

(λͺ¨λ“  과정은 λͺ…λ°±ν•˜κ²Œ μ‹€ν–‰ κ°€λŠ₯(검증 κ°€λŠ₯) ν•œ 것이어야 ν•œλ‹€.)


μ„ ν˜•μ‹œκ°„(linear time)μ•Œκ³ λ¦¬μ¦˜

μ„ ν˜• μ•Œκ³ λ¦¬μ¦˜μ€ λ¨Όμ € μ΄ˆκΈ°ν™”κ°€ ν•„μš”ν•˜λ‹€.

λ‹€μŒμœΌλ‘œ, 각 ν•­λͺ©μ„ μ°¨λ‘€λ‘œ κ²€μ‚¬ν•˜κ³ , ν•­λͺ©μ— λŒ€ν•΄ κ°„λ‹¨ν•œ 계산을 μˆ˜ν–‰ν•œλ‹€.

수λ₯Ό μ„Έκ±°λ‚˜, 이전 κ°’κ³Ό λΉ„κ΅ν•˜κ±°λ‚˜, κ°„λ‹¨ν•œ λ°©μ‹μœΌλ‘œ λ³€ν™˜ν•˜κ±°λ‚˜ 좜λ ₯ν•œλ‹€.

λ§ˆμ§€λ§‰μ—λŠ” μž‘μ—…μ„ 끝내기 μœ„ν•œ μ–΄λ–€ 단계가 ν•„μš”ν•˜λ‹€.
(ex: 평균을 계산, 합계, κ°€μž₯ 큰 ν‚€λ₯Ό 좜λ ₯ν•˜λŠ” 것)

각 ν•­λͺ©μ— λŒ€ν•œ 연산에 거의 같은 μ‹œκ°„μ΄ κ±Έλ¦°λ‹€λ©΄ μ†Œμš”λ˜λŠ” 전체 μ‹œκ°„μ€ ν•­λͺ©μ˜ μˆ˜μ— λΉ„λ‘€ν•œλ‹€.

0개의 λŒ“κΈ€