자료구조

Tree Trevel (based Vector) 실습

FDEE 2020. 10. 28. 18:06

1. 재귀

- base : 빠져나가는 조건을 만들어야 한다

- recersive : 반복하여 재귀를 부르는 부분

 

2. 전위순회 : pre order : 들르는 순서 그대로

- 자신을 방문하여 먼저 실행 후 자식노드를 방문하여 실행한다

 

3.  후위순회 : post order : 들르는 순서는 pre 이지만 실행이 post 이다

- 자신을 방문 후 자식노드를 방문하여 먼저 실행 후 자신을 실행한다

 

4. Tree : preorder(Node* p)

- base : if(!p) :  만약 노드가 없을시 반환한다

- recursive : cout<<p->data; : 방문한 p의 값을 출력한다

- for i=0부터 p->child_vector.size() 까지 반복하여 증감시킨다

- preorder(p->child[i]) 실행한다

 

5. Tree : postorder(Node* p)

- base : if(!p) : 만약 노드가 없을시 반환한다

- recursive : 자식 노드를 먼저 방문하여 실행한다

- for i=0부터 p->child_vector.size() 까지 반복하여 증감시킨다

- postorder(p->child[i]) 실행한다

- cout<<p->data : 방문한 p의 값을 출력한다