ZKX's LAB

二叉树遍历图形界面 画出二叉树,并且写出第三个遍历

2020-07-22知识7

不知道二叉树图形,只知三种遍历顺序中的两种,如何推出二叉树完整图形得知第三种遍历顺序 先找出根。再划分左右树。编写一个程序,实现二叉树的先序遍历,中序遍历,后序遍历的各种递归和非递归算法,以及层次遍历的算法。 文件 main.cpp 代码如下:include<;malloc.h>;/malloc()等include<;stdio.h>;/标准输入输出头文件,包括EOF(=^Z或F6),NULL等include<;stdlib.h>;/atoi(),exit()include<;math.h>;/数学函数头文件,包括floor(),ceil(),abs()等define ClearBiTree DestroyBiTree/清空二叉树和销毁二叉树的操作一样typedef struct BiTNode{int data;结点的值BiTNode*lchild,*rchild;左右孩子指针}BiTNode,*BiTree;int Nil=0;设整型以0为空void visit(int e){ printf(\"%d\",e);以整型格式输出}void InitBiTree(BiTree&T){/操作结果:构造空二叉树TT=NULL;}void CreateBiTree(BiTree&T){/算法6.4:按先序次序输入二叉树中结点的值(可为字符型或整型,在主程中定义),构造二叉链表表示的二叉树T。变量Nil表示空(子)树。修改int number;scanf(\"%d\",&number);输入结点的值if(number=Nil)/结点的值为空T=NULL;else/结点的值不为空{ T=(BiTree)malloc(sizeof(BiTNode));生成根结点if。T)exit(OVERFLOW);T->;data=number;将值赋给T所指结点CreateBiTree(T->;lchild);递归构造左子树CreateBiTree(T->;rchild);递归构造右子树}}void DestroyBiTree(BiTree&T){/初始条件:。数据结构之二叉树的遍历,二叉树遍历分为三种:前序(先序)、中序、后序。这里按根节点的位置来区分的,根节点在前成的遍历就叫做前序遍历,根节点在中间的遍历就叫做中序。数据结构二叉树的遍历 首先,来认识树的相关概念。结点的度是该结点有多少个孩子结点就是该结点的度(简单来说,一个结点向下有几根出去的线,度就是几)。如图所示,A的度是4,B和C的度是2,。

#前序遍历#先序遍历#中序遍历#遍历#二叉树遍历

随机阅读

qrcode
访问手机版