数据结构 二叉树后序遍历 C语言

二叉树的遍历:是指从根节点出发,按照某种次序依次访问二叉树中的所有结点。

二叉树遍历一共又有四种:
1.前序遍历
2.后序遍历
3.中序遍历
4.层序遍历

口诀:

后序:左右根

后序遍历:若树为空,则空操作返回,否则从左到右先叶子后结点的方式访问遍历左右子树,最后访问根节点。
在这里插入图片描述
后序遍历结果:H I D J E B K F G C A
在这里插入图片描述后序遍历:8 6 7 5

#include <stdio.h>
#include <stdlib.h>
typedef struct node{
  int data;
  struct node* left; 
  struct node* right;
} Node;
//先序遍历
void preorder(Node* node){
  if(node !=NULL){
    printf("%d",node -> data);
    preorder(node -> left);
       printf("%d",node -> data);
    preorder(node -> right);
  }
  }
  //中序遍历 
void inorder(Node* node)
{
if(node!=NULL){
   inorder(node -> left);
   printf("%d\n",node ->data);
   inorder (node -> right);
}
}
//后序遍历 
void postorder(Node* node){
if(node!=NULL){
postorder(node ->left);
postorder(node ->right);
printf("%d\n",node ->data);
}
}



int main(){
Node n1;
Node n2;
Node n3;
Node n4;
n1.data = 5;
n2.data=6;
n3.data =7;
n4.data=8;
n1.left = &n2;
n1.right = &n3;
n2.left =&n4;
n2.right=NULL;
n3.left =NULL;
n3.right =NULL;
n4.left=NULL;
n4. right=NULL;

postorder(&n1);
}

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值