재귀 논리 이해

엠레

재귀를 제대로 이해하려면 정말 당신의 도움이 필요합니다. 기본 재귀와 피보나치와 같은 논리를 이해할 수 있습니다.

int factorial(int n)
   if(n <=1)
      return n
    else
       return(n*factorial(n-1))

함수 n가 0이 될 때까지 계승을 계속 호출 하고 마지막으로 모든 결과를 곱하는 것은 쉽습니다 . 하지만 트리 순회와 같은 재귀는 이해하기 어렵습니다.

void inorderTraverse(Node* head)
    if(head!=NULL){

       inorderTraverse(head->left)
       cout << head-> data
        inorderTraverse(head->right)
     }

 }

여기서는 첫 번째 재귀 호출이 함수로 돌아가는 경우이 함수가 어떻게 작동하는지 논리를 잃어 버렸습니다. 어떻게 cout 라인으로 갈 수 있는지 또는 어떻게 올바른 자식 데이터를 표시 할 수 있습니까? 정말 당신의 도움이 필요합니다.

감사합니다

BoBTFish

알파벳 순서의 이진 검색 트리 :

  B
 / \
A   C

inorderTraverse(&A)먼저 내려 가서 A인쇄 (하위 트리를 재귀 적으로 인쇄) 한 다음 인쇄 B한 다음 내려 가서 C인쇄합니다 (하위 트리를 재귀 적으로 인쇄).

따라서이 경우 A B C. 더 복잡한 트리의 경우 :

    D
   / \
  B   E
 / \
A   C

이것은로 인쇄됩니다 A B C D E. 원래 트리가의 왼쪽에 D있으므로 전체가 먼저 인쇄됩니다. 문제는 시작 문제의 더 작은 인스턴스로 축소됩니다. 이것이 재귀의 본질입니다. 다음은 D오른쪽에, 다음 모든 인쇄 D(단지이다 E).

이 구현에서 노드는 부모에 대해 알지 못합니다. 재귀는이 정보가 호출 스택에 저장됨을 의미합니다. 당신은 반복적 인 구현에 모든 것을 대체 할 수있는,하지만 당신은 다시 이동을 추적하기 위해 일부 스택과 같은 데이터 구조를 필요 까지 트리를.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

이 재귀 호출의 논리 이해

분류에서Dev

재귀 논리

분류에서Dev

프롤로그 논리 게이트 집계 재귀 최적화

분류에서Dev

Python : 이중 for 루프에서 재귀의 논리적 오류

분류에서Dev

논리적이고 존재하더라도 꼬리 재귀입니까?

분류에서Dev

트리 탐색의 재귀 이해

분류에서Dev

재귀 이해

분류에서Dev

사람이 재귀 뒤에 나에게 논리를 설명 할 수

분류에서Dev

이 재귀 이해

분류에서Dev

재귀 논리 읽기 입력

분류에서Dev

Python 논리 이해

분류에서Dev

Python 논리 이해

분류에서Dev

이진 트리 경로 합계의 재귀 논리가 잘못된 출력을 제공하는 문제

분류에서Dev

C ++에서 팩토리얼을 찾는이 재귀 프로그램의 논리는 무엇입니까?

분류에서Dev

재귀에서 스택 해제 이해 (트리 순회)

분류에서Dev

중첩 된 재귀 호출-이 꼬리 재귀입니까?

분류에서Dev

명시된 데이터 유형으로 꼬리 재귀 이해

분류에서Dev

이진 트리 인쇄를위한 재귀 방법 이해

분류에서Dev

두 꼬리 재귀 맵 함수의 성능 차이 이해

분류에서Dev

자신을 두 번 이상 호출하는 재귀 함수 뒤에있는 논리

분류에서Dev

재귀 호출 후 논리가있을 때 재귀에서 반복으로 이동하는 가장 좋은 방법은 무엇입니까?

분류에서Dev

Python Turtle 재귀 바이너리 트리

분류에서Dev

NASM 어셈블리의 재귀 적 요인 함수 이해

분류에서Dev

mergesort와 유사한 알고리즘의 재귀 이해

분류에서Dev

재귀 IA32 어셈블리 호출 이해

분류에서Dev

이진 트리에서 재귀 검색

분류에서Dev

재귀 및 이항 트리 순회

분류에서Dev

이 꼬리는 재귀 적입니까?

분류에서Dev

재귀 테이블 선택 쿼리

Related 관련 기사

뜨겁다태그

보관