二叉树的前序,中序,后序遍历
来源:互联网 发布:dota2剑圣新套装淘宝 编辑:程序博客网 时间:2024/05/21 22:24
对于二叉树T,可以递归定义它的前序遍历,中序遍历,后序遍历,只要深搜理解了,三种遍历都不是事
前序:PreOrder(T)=T的根节点+PreOrder(T的左子树)+PreOrder(T的右子树);
中序:PreOrder(T)=PreOrder(T的左子树)+T的根节点+PreOrder(T的右子树);
后序:PreOrder(T)=PreOrder(T的左子树)+PreOrder(T的右子树)+T的根节点;
放上代码感受一下,咳咳,为了检验大家深搜到底有没有 理解,我并不给输入说明,大家看CreateBiTree()函数自己创建一棵二叉树,我还是那句话,只要深搜理解透彻,你不用三分钟就可以搞定三种遍历
1 2 0 0 3 0 0(输入)
1 2 3
2 1 3
2 3 1
呃呃,还是给大家一组输入吧
#include <stdio.h>//节点声明,数据域、左指针、右指针typedef struct BiTNode{ int data; struct BiTNode *Left,*Right;}BiTNode,*BiTree;BiTree CreateBiTree();void PreOrderTraverse(BiTree T);void InOrderTraverse(BiTree T);void PostOrderTraverse(BiTree T);int main(){ BiTree T; T = CreateBiTree();//建立 PreOrderTraverse(T);// printf("\n"); InOrderTraverse(T); printf("\n"); PostOrderTraverse(T); printf("\n"); return 0;}//先序建立二叉树BiTree CreateBiTree(){ int a; BiTree T; scanf("%d",&a); if(a==0) T=NULL; else { T = (BiTree)malloc(sizeof(BiTNode)); T->data = a; T->Left = CreateBiTree(); T->Right = CreateBiTree(); } return T;//返回根节点}//先序遍历二叉树void PreOrderTraverse(BiTree T){ if(T) { printf("%d ",T->data); PreOrderTraverse(T->Left); PreOrderTraverse(T->Right); } return;}//中序遍历void InOrderTraverse(BiTree T){ if(T) { PreOrderTraverse(T->Left); printf("%d ",T->data); PreOrderTraverse(T->Right); }}//后序遍历void PostOrderTraverse(BiTree T){ if(T) { PreOrderTraverse(T->Left); PreOrderTraverse(T->Right); printf("%d ",T->data); }}
0 0
- 二叉树的前序、中序、后序遍历
- 二叉树的遍历(前序,中序,后序)
- 二叉树的遍历:前序、中序、后序
- 二叉树的前序、中序、后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序,中序,后序遍历
- 二叉树的前序、中序、后序遍历
- 二叉树的前/中/后序遍历
- JAVA实现二叉树的前、中、后序遍历
- 二叉树的前、中、后序遍历详解
- 二叉树的前、中、后序遍历
- 什么是P问题、NP问题和NPC问题
- oracle 表名是变量,查询结果集为空转为0
- 215. Kth Largest Element in an Array
- 【杭电】[4883]TIANKENG’s restaurant
- codeforce 185 A——Plant
- 二叉树的前序,中序,后序遍历
- [LeetCode 253] Meeting Rooms II
- java.io.InvalidClassException: javax.management.MBeanAttributeInfo; local class incompatible:
- 字符个数统计
- HDOJ 5640 King's Cake
- FreeBSD虚拟机——小折腾
- 找工作——jvm复习(三)
- 1001 ACID 00731031
- Java异常处理总结