C++

들어가며완전 탐색을 할 때에 사용할 수 있는 방법 중 하나인 재귀 호출에 대해 공부해보고자 합니다. 이번 포스팅은 알고리즘 문제해결전략(구종만 저) 6장을 공부하며 정리한 내용입니다.재귀 호출재귀 함수(Recursive function)란, 자신이 수행할 작업을 유사한 형태의 여러 조각으로 쪼갠 뒤 그 중 한 조각을 수행하고, 나머지를 자기 자신을 호출해 실행하는 함수를 의미합니다. 반복문을 재귀 함수로 바꿔 구현해보면, 재귀 호출의 기초적인 특징을 확인할 수 있습니다. 아래 예시에서는 기존 반복문 사용에 비해 재귀 호출의 이점이 별로 없지만, 기초적인 특징은 확인이 가능합니다. 1부터 n까지의 합을 구하는 반복문int sum(int n) { int ret = 0; for(int i = 1; ..
1315. Sum of Nodes with Even-Valued Grandparent문제이진 트리(Binary Tree)가 주어지면, grandparent가 짝수인 노드의 합을 구하는 문제이다.풀이이진 트리는 TreeNode structure로 구현되어 있다. 각 노드별로 left와 right를 가리키는 포인터를 가지고 있다. 따라서, root 노드부터 훑으면서, 각 노드가 짝수라면 해당 노드의 grandchild의 합을 구하면 된다./** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode() : val(0), left(..
EARTH_ROOPRETELCHAM
'C++' 태그의 글 목록