[자료구조&알고리즘] 재귀Algorithm/자료구조&알고리즘2022. 12. 23. 17:13
Table of Contents
♪ 학습 내용
재귀 / 하노이 타워
* 재귀(Recursion)란?
나는 c언어 수업하면서 재귀함수를 처음 접했었다.
재귀함수는 함수 내에서 자신을 다시 호출하는 함수이다.
그렇기 때문에 종료 조건을 주지 않으면 계속 자기 자신을 호출하며 무한 반복한다.
완료되지 않은 함수에서 다시 본인을 호출하는 것이 가능한 것인지 의문이 들 수도 있다.
결론부터 말하자면 가능!
함수를 호출하면 함수의 복사본을 만들어서 실행하는 구조이기 때문에
완료되지 않아도 호출하면 또 다른 복사본을 만들어 실행한다.
재귀를 이용하면 팩토리얼 같은 것도 구현 가능.
재귀함수 이해 겸 복습을 도울 피보나치 수열을 구현해보았다.
무한 반복하지 않기 위해 n이 1 또는 2일 경우 종료.
* 재귀를 기반으로 한 이진 탐색 알고리즘
* 하노이 타워
익숙해지기 위해 코드의 실행 흐름을 정리해보았지만,
시간이 지나 재귀함수에 익숙해지면 호출 순서를 신경쓰지 않아도 된다.
♪ 다음 학습 내용
연결 리스트
'Algorithm > 자료구조&알고리즘' 카테고리의 다른 글
[자료구조&알고리즘] 단순 연결 리스트 2 (0) | 2023.01.10 |
---|---|
[자료구조&알고리즘] 단순 연결 리스트 1 (0) | 2023.01.04 |
[자료구조&알고리즘] 연결 리스트 (0) | 2022.12.31 |
[자료구조&알고리즘] 리스트 (배열 기반) (0) | 2022.12.28 |
[자료구조&알고리즘] 자료구조와 알고리즘의 이해 (0) | 2022.12.23 |
@kjyyjk :: 녕의 학습 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!