2014-01-20 1 views
0

나는 다음과 같은 노드 구조로 2-3 트리가 있습니다전체 2-3 트리를 어떻게 파싱합니까?

struct node 
{ 
    int value1, value2; 
    node *parent, *left, *right, *middle; 
} 

문제는 내가 전체 트리를 구문 분석하는 방법을 모르는 것입니다. 당신이 옳은 길을 가기 때문에 우리가 그것을 어떻게 찾았는지 압니다. 하지만 트리의 모든 노드를 확인하는 방법은 무엇입니까?

+1

* 나무를 걷고 싶습니까? –

+0

예. 모든 노드를 통과하십시오. – user3141607

답변

1

여기에 도움이 될 의사입니다 :

void ParseNode(node *n) 
    { 
     OperationToParseCurrentNode(); 

     if(n->left) 
      ParseNode(n->left); 
     if(n->middle) 
      ParseNode(n->middle); 
     if(n->right) 
      ParseNode(n->right); 
    } 

이 모든 노드를 통과합니다 입력 한 루트 노드 경우.