数据结构重学日记(二十)二叉树后序遍历

后序遍历的操作顺序为:

  • 第一步和之前一样,如果二叉树为空,什么都不做
  • 后序遍历左子树
  • 后序遍历右子树
  • 访问根结点

再来回忆下先序和中序,先序为:先根后左再右,中序为:先左再根再右。

根据之前两篇的经验,后序遍历也只不过是换换函数的调用位置。

代码


void foreach_post_tree(BiTree T){
    if(T != NULL){
        foreach_post_tree(T->lchild);
        foreach_post_tree(T->rchild);
        printf("%c ",T->data);
    }
}

执行结果为:
G D B E F C A

跟视频中结果一致。so easy。

这三种遍历都是比较简洁易懂的,缺点是开销比较大。

有问题肯定就有解决,所以接下来还要学洗二叉树的非递归遍历。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容