1. 왼쪽 서브 트리를 후위 순회한다.
2. 오른쪽 서브 트리를 후위 순회한다.
3. 노드를 방문한다.



#include <stdio.h>
#include <malloc.h>

#define MAX 7

int tree[MAX];

void initTree() {
    for (int i = 0; i < MAX; ++i) {
        tree[i] = i + 'A';
    }
}

void visit(int idx) {
    printf("node %c \n", tree[idx]);
}

void postorder_traversal(int idx) {
    if (idx < MAX) {
        int left = idx * 2 + 1;
        int right = idx * 2 + 2;

        postorder_traversal(left);
        postorder_traversal(right);
        visit(idx);
    }
}
   

int main()
{
    initTree();
    postorder_traversal(0);

    return 0;
}



* Output

D → E → B → F → G → C → A


* 출처 : https://www.tutorialspoint.com/data_structures_algorithms/

+ Recent posts