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의 값을 출력한다
'자료구조' 카테고리의 다른 글
Tree preorder (based Vector) 실습문제2 (0) | 2020.10.28 |
---|---|
Tree preorder (based Vector) 실습문제 (0) | 2020.10.28 |
Tree (based Vector) 실습문제2 (0) | 2020.10.28 |
Tree (based vector) 실습문제 (0) | 2020.10.28 |
Tree (based vector) 실습 (0) | 2020.10.28 |