재귀

·Algorithm
하노이의 탑(탑의 하노이, Tower of Hanoi)은 세 개의 막대와 여러 개의 크기가 다른 원반을 사용하여 퍼즐을 푸는 문제. 퍼즐은 원반들이 한 막대에 크기 순으로 쌓여있는 상태에서 시작하며, 목표는 다음 규칙을 지키면서 다른 막대로 모든 원반을 옮기는 것:한 번에 하나의 원반만 옮길 수 있다.각 이동은 맨 위의 원반만 옮길 수 있다.더 큰 원반은 더 작은 원반 위에 놓을 수 없다.하노이의 탑 알고리즘n개의 원반이 있을 때:n-1개의 원반을 출발 막대에서 보조 막대로 옮긴다.가장 큰 원반을 출발 막대에서 목표 막대로 옮긴다.n-1개의 원반을 보조 막대에서 목표 막대로 옮긴다.이를 자바스크립트로 구현한 예시:function hanoi(n, from, to, aux) { if (n === 1) ..
·Algorithm
재귀란재귀는 어떠한 것을 정의할 때 자기 자신을 참조하는 것을 뜻함.function addOne (num) { console.log(num); addOne(num + 1); // 자기 자신을 참조}재귀 함수는 기저조건이 꼭 필요함 (아니면 무한 실행됨)자기 자신을 참조하면서 함수가 끝나지 않기 때문에 스택에 계속 쌓이게 됨 => 메모리 부족으로 강제 종료됨.재귀함수가 for문보다 메모리 공간을 더 많이 차지함 => 더 복잡한 문제를 쉽게 해결하기 위함function addOne (num) { if(num > 10) return; console.log(num); addOne(num + 1); // 자기 자신을 참조}재귀 유형반복실행 : 반복문보다 효율적이지 않음하향식 계산방법 : 하위문제의 결과를 기반으로..