결국 아무도 설명해주지않았어 ㅋㅋ
프로그래밍 코드에는 함수라는게 있는데 함수는 여러 코드를 모아서 한번에 실행하는걸 말합니다. 그런데 그 코드들 중에 다시 자기자신(함수)를 호출하게되면 탈출조건이 없는경우 무한히 자기자신을 호출하게되어 프로그램이 뻑납니다. (스택오버플로우)
예를 들어:
밥먹기()라는 함수는 아래처럼 구성되어있다면
밥먹기(){
손씻기();
젓가락들기();
반찬집기();
반찬먹기();
수저들기();
밥먹기();
수저놓기();
}
위에서 부터 순차적으로 실행되는 밥먹기라는 함수가 만들어지는데
언뜻보기엔 멀쩡해보이는데 중간에 밥먹기() 즉 자기자신을 호출하는 코드이 있어서
수저놓기가 실행되기전에 손씻기부터 무한히 반복되게됩니다.
유부남2019/06/19 15:39
음 재귀함수는
자신을 참조하는 함수로 특정조건에 의해 해제하게 설계하므로 무한함수로 빠지지는 않습니다
보통 다중 하위객체등을 처리할 때 쓰는 편이지요.
예를 들자면
function 자동차부품(부품들) {
-- 예시입니다 이딴 연산문 없습니다
if(부품들.부품들 is not exists) {
exit 함수;
} else {
call 자동차부품(부품들[idx].부품들)
}
}
이라는 함수가 있다고 가정하면
자동차 부품들 중 엔진은 다시 하위부품으로 조립되니까
여튼 뭐 다계층 구조를 셀렉션 처리하기 위해 많이 씁니다.
자동차부품(자동차.부품들) 이라 호출하고
킴메스2019/06/19 20:25
보내드림
참견쟁이2019/06/19 20:27
도르마무
쪼매아범2019/06/19 21:07
반복이 목적이 아니라 최소단위로 쪼개서 상향식으로 처리하기 위한 방법입니다. 반복만 하려면 재귀보다 반복문이 효과적이죠, 진지는 아보카도 명란 덥밥에 광천김 싸서 먹었습니다.
y(^o^)yeah2019/06/19 21:57
function fibonacci(num) {
if (num <= 1) return 1;
return fibonacci(num - 1) + fibonacci(num - 2);
}
88올림픽Ω2019/06/19 22:25
문장의 끝이 마침표가 아니라 세미콜론이었으면 완벽했을텐데. ㅋㅋㅋ
행복한콩v2019/06/19 22:49
문과를 위한 설명
재귀의 뜻은
영어 할 때 재귀 대명사()+self
그 의미 입니다
근데 재귀 함수가 몬가요???
그래서 재귀함수가 뭔가요?
http://www.todayhumor.co.kr/board/view.php?table=humordata&no=1820224&s_no=1820224&page=1
이런 재귈;;;;
피카레스크식 구성. 액자식구성
이게 오유지 재미없어도 계속하는거
그러다 정답을 제대로 말해주는 현자를 만난 순간 썰셉션이 좌르륵 정리되면서...
일단 함수가 뭔지 알아야 이해하는 척이라도 할텐데...
그러니깐 재귀함수 = 찬호함수
맞나요?
놉, 뭔가가 진행이 되지 않으면 재귀함수가 아님 ㅋㅋㅋ
강한 자는 혼자여도 가장 강하다 - 검은 눈동자단원 -
결국 아무도 설명해주지않았어 ㅋㅋ
프로그래밍 코드에는 함수라는게 있는데 함수는 여러 코드를 모아서 한번에 실행하는걸 말합니다. 그런데 그 코드들 중에 다시 자기자신(함수)를 호출하게되면 탈출조건이 없는경우 무한히 자기자신을 호출하게되어 프로그램이 뻑납니다. (스택오버플로우)
예를 들어:
밥먹기()라는 함수는 아래처럼 구성되어있다면
밥먹기(){
손씻기();
젓가락들기();
반찬집기();
반찬먹기();
수저들기();
밥먹기();
수저놓기();
}
위에서 부터 순차적으로 실행되는 밥먹기라는 함수가 만들어지는데
언뜻보기엔 멀쩡해보이는데 중간에 밥먹기() 즉 자기자신을 호출하는 코드이 있어서
수저놓기가 실행되기전에 손씻기부터 무한히 반복되게됩니다.
음 재귀함수는
자신을 참조하는 함수로 특정조건에 의해 해제하게 설계하므로 무한함수로 빠지지는 않습니다
보통 다중 하위객체등을 처리할 때 쓰는 편이지요.
예를 들자면
function 자동차부품(부품들) {
-- 예시입니다 이딴 연산문 없습니다
if(부품들.부품들 is not exists) {
exit 함수;
} else {
call 자동차부품(부품들[idx].부품들)
}
}
이라는 함수가 있다고 가정하면
자동차 부품들 중 엔진은 다시 하위부품으로 조립되니까
여튼 뭐 다계층 구조를 셀렉션 처리하기 위해 많이 씁니다.
자동차부품(자동차.부품들) 이라 호출하고
보내드림
도르마무
반복이 목적이 아니라 최소단위로 쪼개서 상향식으로 처리하기 위한 방법입니다. 반복만 하려면 재귀보다 반복문이 효과적이죠, 진지는 아보카도 명란 덥밥에 광천김 싸서 먹었습니다.
function fibonacci(num) {
if (num <= 1) return 1;
return fibonacci(num - 1) + fibonacci(num - 2);
}
문장의 끝이 마침표가 아니라 세미콜론이었으면 완벽했을텐데. ㅋㅋㅋ
문과를 위한 설명
재귀의 뜻은
영어 할 때 재귀 대명사()+self
그 의미 입니다
근데 재귀 함수가 몬가요???
끝을 향해 계속 달려나가는 함수 입니다. ㅋㅋ
이거 문혐이야 문혐!