반응형
정의
문제를 푸는 알고리즘 기법중 하나로 커다랗고 복잡한 문제를 작고 심플한 문제들로 나누어서 푸는 방법을 뜻합니다.
예제
$2^1+2^2+2^3+2^4+2^5$
위 문제를 푼다고 가정했을때,
$2^1=2=2$
$2^2=22=2^12$
$2^3=222=2^2*2$
$2^4=2222=2^32$
$2^5=22222=2^4*2$
위와 같이 특정 계산($2^1,2^2,2^3,2^4$)은 쓸대없이 반복됨을 알수 있습니다. $2^4$를 계산할때 이미 $2^3$을 알고 있다면, 굳이 $2^3$을 다시 계산할 필요는 없습니다. 앞에 계산된 가격에 2만 더함으로서 추가적인 계산을 하지않고 조금더 효율적인 알고리즘을 만드는것이 가능합니다.
반응형
'old > Programming' 카테고리의 다른 글
자바의 enum class란 (0) | 2021.11.03 |
---|---|
Java로 구현하는 피보나치 수열과 피보나치 숫자 판별 방법 (0) | 2021.10.28 |
[파이썬 코드]이미지로 좌표 찾기 (0) | 2021.10.27 |
[파이썬 코드]마우스랑 키보드 조정하기 (0) | 2021.10.26 |
파이썬의 자료구조-튜플 Tuple (0) | 2021.10.26 |