• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

이진트리순회(DFS:깊이우선탐색)

23.05.18 11:47 작성 23.05.18 11:50 수정 조회수 329

0

안녕하세요 강사님!

스택프레임을 그리면서, 전위순위는 console.log 가 맨위에 가야하고 중위순위는 가운데 가야하는거는 이해가 됩니다.

그런데 이 문제에서 어떻게 접근 방식을 바로 재귀로 풀어야겠다 라고 생각나셨는지 근본적인 이유가 이해가 가지 않습니다 ㅜㅜ 강의 보면서 선생님께서 재귀로 푸시니까 재귀로 푸는데, 왜 재귀로 접근하게 되었는지가 이해가 안되는 것 같습니다 ㅜㅜ

 

아직 재귀함수를 제대로 이해하지 못한 채 뒷문제로 넘어가서 그런걸까요??

해결답안을 외우는 건 할 수있는데, 어떻게 이 문제를 재귀로 접근하게 되었는지 근본적으로 떠오르지가 않는 것 같습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요^^

깊이우선탐색이 한 경우의 길로 가다가 막히면 다시 되돌아 가서 다른 길로 가보는 백트랙킹을 하는 알고리즘인데 이렇게 왔던 길을 되돌아 가는 기능을 할 수 있는게 스택 자료구조를 쓰는 재귀함수밖에 없습니다.

앞으로 있을 부분집합, 중복순열, 순열, 조합 문제들을 풀다보면 경우의 수를 따지는 문제는 재귀함수를 이용해 접근해야 한다는 것을 느낌적으로 알게 될 겁니다.