워밍업클럽CS2기 2주차 발자국: 자료구조와 알고리즘
자료구조와 알고리즘 재귀재귀어떠한 것을 정의할 때 자기자신을 참조하는 것재귀함수재귀적으로 정의된 함수탈출 조건, 기저조건이 반드시 있어야함for문 vs 재귀함수재귀함수는 for문 대신이 아님재귀함수로 해결하면 더 많은 메모리 공간을 차지하여 비효율적재귀함수는 더 복잡한 문제를 쉽게 해결하기 위해 사용함 ex) 팩토리얼 재귀적으로 생각하기단순한 반복실행재귀함수 이점이 없고 콜스택 공간을 많이 차지해 성능은 for문보다 안 좋음하위 문제의 결과를 기반으로 현재 문제를 계산 (하향식 계산)재귀를 사용하는 이유로 재귀함수에서만 구현할 수 있음ex) 팩토리얼 return number * factorial(number - 1)재귀 - 하노이탑하노이탑한 번에 하나의 원반을 움직일 수 있다.가장 위에 있는 원반만 옮길 수 있다.아래에 작은 원반이 올 수 없다.정렬 - 버블정렬버블정렬앞에 있는 숫자와 옆의 숫자를 비교해서 자리를 바꾸는 알고리즘구현이 쉬우나 성능이 좋진 않음 o(n2)