-
[알고리즘]재귀알고리즘 & 자료구조 2021. 1. 21. 14:18
재귀(Recursion)
함수가 본인 스스로를 호출해서 사용하는것
#include <stdio.h> void draw(int h); int main(void) { int height = 3; // scanf("%d", &height); draw(height); } /* void draw(int h) { //높이가 h인 피라미드 그리기 for(int i = 1; i <= h; i++) { for(int j = 1; j <= i; j++) { printf("#"); } printf("\n"); } } */ //재귀 이용한 함수 void draw(int h) { if(h == 0) { return; } draw(h-1); for(int i = 0; i < h; i++) { printf("#"); } printf("\n"); }
재귀를 처음 접한다면 코드 소스만 보고는 혼란스러울수 있다.
순서에 따라 실행 된다는것을 생각하면서
draw함수 안에 draw(h-1)을 작성해 정리해보면 어떤식으로 동작하는지 조금 더 쉽게 이해할 수 있다.
728x90반응형'알고리즘 & 자료구조' 카테고리의 다른 글
[Data Structure] 배열의 크기 조정하기 (0) 2021.01.24 [알고리즘] 병합 정렬 (0) 2021.01.21 [알고리즘] 선택 정렬 (0) 2021.01.20 [알고리즘] 선형 검색 (0) 2021.01.19 배열 (0) 2020.11.10