树遍历之后序遍历

声明:本文章知识只介绍二叉树的遍历方式。

后序遍历是一种树的遍历方式,下面我就来讲一讲。

1.简介

后序遍历又叫后根遍历后序遍历用的是深度优先搜索后序遍历遍历方式左子树(结点)->右子树(结点)->根节点。(如果你看了《树遍历之先序遍历》,那你就能总结出来。欢迎大家在评论区写出总结)。 后序遍历的步骤也只有两个:构造树和后序遍历

2.代码

1.构造树(与先序遍历一样)

int n;
struct tree{
    int l, r;
};

tree b_tree[100005];

//main
cin >> n;

for (int i = 1; i <= n; i++) cin >> b_tree[i].l >> b_tree[i].r;

2.后序遍历

void post_order(int x){ //x为目前节点,第一次为根节点
    if (0 == x)//如果不存在这个节点
    {
        return;
    }
    
    post_order(b_tree[x].l);//遍历左子树
    post_order(b_tree[x].r);//遍历右子树
    cout << x << " ";//先遍历左子树和右子树,再输出
}

//main

post_order(1);

这就是后序遍历的全部了,点个赞再走呗。欢迎在评论区留言!

c++算法大全 文章被收录于专栏

本专栏收集了c++大部分基础算法,附有简介和代码。

全部评论

相关推荐

评论
2
2
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务