강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

조돌이님의 프로필 이미지
조돌이

작성한 질문수

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

백트래킹 질문있습니다.

해결된 질문

작성

·

13

0

안녕하세요. 강사님.

수강생 조돌이입니다. :)

 

강사님께서는 백트래킹 정의를 "완전탐색(Brute Force)과 가지치기(Pruning)를 결합한 방식으로, 모든 가능한 해를 찾는 과정에서 불필요한 탐색을 줄여준다." 라고 정의하시는데요.

 

원상복구 방식은 백트래킹 방식과 연관되지 않나요?

예전에 백트래킹에 대해서 공부한 기억이 있는데, 강사님께서 말씀하시는 원상복구를 백트래킹이라고 이해하고 있었습니다.

제가 잘못 이해하고 있는건지 알고 싶습니다.. _ _)

 

항상 좋은 강의 감사드립니다!

답변 1

1

큰돌님의 프로필 이미지
큰돌
지식공유자

안녕하세요 ㅎㅎ

예전에 백트래킹에 대해서 공부한 기억이 있는데, 강사님께서 말씀하시는 원상복구를 백트래킹이라고 이해하고 있었습니다.

-> 사실 이게 정의가 2가지로 쓰이고 있습니다.

수강생님이 말씀하신 원상복구를 백트래킹이라고 하는 것도 있고 가지치기를 포함한게 백트래킹이라고 한 것도 있습니다.

이 부분은 영어 -> 한국말로 바꾸는 부분에서 나타난 차이라고 보시면 됩니다.

백트래킹을 영어로 설명하는 강의를 보면

recursive backtraking, recursive backtracking with optimization

이렇게 두가지로 나눠지는데요.

전자의 경우 우리나라 워딩으로 완전탐색이라는 말로 쓰이고 있기 때문에 그걸 구분하기 위해서 저는 백트래킹 = 가지치기 + 완탐으로 구분지어서 설명드리고 있습니다.

 

좀 더 정확히는 recursive backtracking with optimization은 DP로 최적화, 가지치기로 최적화, 비트마스킹으로 최적화 이렇게 세분화해서 설명을 하는 영어 강의가 있는데 이를 한국말로 구분지어서 설명하기 위해 DP로 최적 -> DP재귀적 탐색, 비트마스킹 -> 비트마스킹 + DP로 설명을 드리고 있습니다.

 

 


 

또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.

조돌이님의 프로필 이미지
조돌이
질문자

감사합니다! 이해하는데 도움이 되었습니다!

조돌이님의 프로필 이미지
조돌이

작성한 질문수

질문하기