일이 있어 블로그랑 깃허브 활동을 하나도 못했다. 😞
오늘부터 다시 새롭게 시작!! 꾸준하게 하자 :)
간단 정리는 오늘 하되 자세한 건 천천히 다뤄야겠다. 깊게 파고들 목적이기에 하루에 전부 다룰 수 없을 것 같다.
완전 탐색이란 컴퓨터의 빠른 연산 속도를 이용해 생길 수 있는 모든 경우의 수를 찾는 알고리즘을 말한다.
재귀는 자기 함수를 스스로 호출하는 것을 의미한다. 스스로를 호출함으로서 탈출하기 전까지 스택을 쌓기때문에 반복문보다 메모리 사용률이 많아 느리다.
이렇게 그다지 좋지 않은 재귀 함수를 사용하는 이유는 반복적인 변수를 줄일 수 있고 작성한 코드가 정확하게 구동하는 것을 증명하는 것이 쉽다. 즉 가독성이 뛰어나다.
"무식하게 한다" 라는 의미 처럼 완전 탐색에 대해 말한 것과 많이 흡사하다.
2진수(1, 0) 을 이용해 연산하는 방식이다. True(1) / False(0) 를 이용한 상황에 유용하다.
재귀를 이용해 모든 노드를 탐색하는 방법이다. Depth라는 단어를 사용하다시피 넓게 탐색을 하기보다 Root Node에서 Leaf Node까지 내려가면서 탐색하는 방법이다.
DFS와 다르게 현재 노드와 연결된 노드들 전부 탐색하는 넓게 탐색하는 방법이다.
노드의 끝이 다다르고 원하는 답이 나오지 않았을 경우 다시 Parent Node로 되돌아가 다른 자식 노드로 가는 방법이다.