성장에 목마른 코린이

재귀 본문

CodeStates/Section 2 (프론트 + 백엔드)

재귀

성장하는 코린이 2022. 3. 2. 22:24
728x90

왜 이 개념을 이해하기 어려웠나요 ? 솔직히 왜 써야하는지도 모르겠고 이해하다가 그냥 머리가 터질것같아요

 

재귀 Recursion

- 자신이 자신을 호출하는 함수

- 알고리즘 공부의 통곡의 벽: 이게 안되면 디바인드앤컨커, 다이내믹 프로그래밍 다 안된답니다..

- 간략한 쓰는 이유: 일반적으로 반복문보다 느리지만 재귀로 적으면 깔끔해지는 코드를 쓰는데 활용됨

 

재귀함수로 짜여진 코드들은 for문이나 while문으로 대체가능합니다. 그렇게 하는게 더 쉬운경우도 많습니다.

하지만 배열안에 배열이 있는경우에서 재귀함수가 왜 좋은지 보여줍니다.

 

아래 코드를 한번 봐보시죠

여기까지만 해도 for문을 두번만 써야해서 괜찮지만

아래처럼 for문을 여러번써야하고 몇번써야할지도 모르는 경우에 재귀함수를 왜 써야하는지 알수있어요

이처럼 재귀함수를 사용하면 보다 효율적으로 짤수있는 종류의 문제들이 있어요

대표적으로 여러단계들을 포함할 수 있는 데이터를 다루는 문제들 그리고 각종 정렬 알고리즘등이 있습니다.

'CodeStates > Section 2 (프론트 + 백엔드)' 카테고리의 다른 글

BFS, DFS, 트리 순회  (0) 2022.03.15
재귀 (Recursion)  (0) 2022.03.15
OOP (Object Oriented Programming)  (0) 2022.03.15
동기 vs 비동기  (0) 2022.03.09
트리, Binary Search Tree  (0) 2022.03.06
Comments