创建前、中、后序二叉树


一、前序二叉树

规则:根->左->右
前序遍历结果:ABCDEFGHK
在这里插入图片描述

二、中序二叉树

规则:左->根->右
中序遍历结果:ABCDEFG
在这里插入图片描述

二、后序二叉树

规则:左->右->根
后序遍历结果:FHIGDEBCA

在这里插入图片描述

  • 每个人的人生里都会遇到一场措手不及的大雨,若你身陷雨中,愿有人为你撑伞;如果没有,也愿你有听雨的心情。
  • “人们常常被一句”以后怎么办“给吓退了。以后那么长,不是想出来的,是过出来的。
  • 熬过最苦的日子做最酷的自己。
  • 平安夜,请你吃苹果,吃个青苹果,祝你青春永驻,永不老!吃个黄苹果,祝你飞黄腾达,事业高!吃个红苹果,祝你红红火火,生活好!
  • 自信人生两百年,会当击水三千里。
  • 如果事与愿违,就相信上天一定另有安排;所有失去的,都会以另外一种方式归来。相信自己,相信时间不会亏待你。
  • 时间是单行道,过去了,回不来;生活是简单的,你做出选择,然后就不要回头。
  • 要努力向前,不优秀的话是不会变特别,如果想要那份偏爱,就请竭尽全力吧。
  • 平安夜里盼平安,平安祝愿记心间,平安时刻愿相伴,一生愿你永平安,平安夜说平安,夜夜平安到永远,平安信息转一转,平安一年又一年。愿你平安!
  • 不管失败多少次,都要面对生活,充满希望。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
下面是一个简单的C语言程,实现了二叉树创建遍历: ```c #include <stdio.h> #include <stdlib.h> // 定义二叉树节点结构体 struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; }; // 创建叉树 struct TreeNode* createTree() { int val; scanf("%d", &val); if (val == -1) { return NULL; } struct TreeNode* node = (struct TreeNode*)malloc(sizeof(struct TreeNode)); node->val = val; node->left = createTree(); node->right = createTree(); return node; } // 遍历 void preorderTraversal(struct TreeNode* root) { if (!root) { return; } printf("%d ", root->val); preorderTraversal(root->left); preorderTraversal(root->right); } // 遍历 void inorderTraversal(struct TreeNode* root) { if (!root) { return; } inorderTraversal(root->left); printf("%d ", root->val); inorderTraversal(root->right); } // 后遍历 void postorderTraversal(struct TreeNode* root) { if (!root) { return; } postorderTraversal(root->left); postorderTraversal(root->right); printf("%d ", root->val); } int main() { struct TreeNode* root = createTree(); printf("遍历:"); preorderTraversal(root); printf("\n遍历:"); inorderTraversal(root); printf("\n后遍历:"); postorderTraversal(root); printf("\n"); return 0; } ``` 在程,我们定义了一个二叉树节点的结构体,包括节点的值,以及左右子节点。然后我们通过递归的方式来创建叉树,递归函数返回的是当节点。 在遍历二叉树时,分别实现了遍历、遍历和后遍历的函数。这些函数也都是通过递归来实现的。在遍历过程,先输出当节点的值,然后遍历左子树,最后遍历右子树(遍历);或者先遍历左子树,然后输出当节点的值,最后遍历右子树(遍历);或者先遍历左子树,然后遍历右子树,最后输出当节点的值(后遍历)。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

和烨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值