재귀함수 2

다이나믹 프로그래밍 - 한 번 계산한 문제는 다시 계산 안한다!

다이나믹 프로그래밍(동적 계획법) 이란 ? : 컴퓨터 연산을 하면서 중복되는 연산을 줄이자는 목적으로 나온 기법이다. 보통, 다이나믹이라고 하면 '프로그램이 실행되는 도중에' 라는 의미로 쓰이는데(ex.동적할당), 여기서는 그런 의미는 아니다. 연산을 줄이자는 것이 목적이라면, 재귀함수로 프로그램을 짤 수도 있는 것 아니냐고 생각할 수 있다. 물론, 할 수는 있다. 하지만, 수가 크다면, 실행시간은 기하급수적으로 늘어나기 때문에, 계속해서 재귀함수를 호출하는 것은 컴퓨터에 많은 부하를 줄 수 있다. 예를 들어, 피보나치 수열을 재귀함수로 구현한다면, n이 100 이기만 해도, 연산 횟수가 약 1,000,000,000,000,000,000,000000,000,000번이다. 즉, 1초에 1억번 정도의 연산을..

[C언어] 5. 함수

5. 함수 - 함수는 입력을 받아 처리한 뒤에 출력하는 구조를 가진다. (“입력함수▶출력”) - 특정한 기능에 대한 소스코드가 반복되는 것을 줄이도록 해준다. - 함수의 형태는 반환자료형 함수명(매개변수){ 수행될 명령어 return 반환할 값; } 여기서, 반환자료형은 함수가 수행되어서 “처리된 결과”를 “어떠한 자료형”으로 반환할 것이지 써줘야한다. ex) int,boolean... - 함수에서 매개변수와 return 반환할 값은 경우에 따라서 없을 수 있다.(예를 들어, 어떠한 내용을 단순히 출력만 하고자 하는 함수라면 굳이 어떠한 매개변수를 받을 필요가 없기 때문에 매개변수 자리나 return값이 없어도 된다) - 이럴 때에 자료형에는 void가 들어간다. (예제1)말머리 붙이기 #include ..

반응형