#include<stdio.h>
#include<malloc.h>
#include<iostream>
//定义节点
typedef struct BiNode{
char data;
struct BiNode *lch;
struct BiNode *rch;
}BiNode,*BiTree;
//先序拓展序列建立二叉树
void Create(BiTree &T)
{
T =(BiNode*) malloc (sizeof(BiNode));
printf("Enter the data \n");
scanf(" %c",&T->data);
if(T->data=='#') T = NULL;
if(T){
printf("");
Create(T->lch);
Create(T->rch);
}
}
//先序遍历 (递归)
void Preorder (BiTree T)
{
if (T) {
printf(" %c",T->data); // 访问根结点
Preorder(T->lch); // 遍历左子树
Preorder(T->rch);// 遍历右子树
}
}
//中序遍历 (递归)
void Inorder (BiTree T)
{
if(T) {
Inorder(T->lch);
printf(" %c",T->data);
Inorder(T->rch);
}
}
//后序遍历 (递归)
void Postorder (BiTree T)
{
if(T) {
Postorder(T->lch);
Postorder(T->rch);
printf(" %c",T->data);
}
}
int main()
{
//建树
printf("The fuction Create() is called.\n");
BiTree T;
Create(T);
//三种遍历递归算法
printf("\n");
printf("The fuction Preorder() is called.\n");
Preorder(T);
printf("\n");
printf("The fuction Inorder() is called.\n");
Inorder(T);
printf("\n");
printf("The fuction Postorder() is called.\n");
Postorder(T);
printf("\n");
system("pause");
}
分享到:
相关推荐
二叉树的非递归遍历,使用C++实现二叉树的非递归遍历,对正在学习算法的同学应该挺有帮助的
二叉树的非递归遍历 二叉树的非递归遍历二叉树的非递归遍历二叉树的非递归遍历二叉树的非递归遍历二叉树的非递归遍历二叉树的非递归遍历二叉树的非递归遍历二叉树的非递归遍历
中根顺序递归建立二叉树,递归及非递归遍历二叉树。C++面向过程实现
数据结构实用教程之二叉树,其中包含了:二叉树的定义、二叉树的递归遍历、二叉树基本操作。 数据结构实用教程之二叉树,其中包含了:二叉树的定义、二叉树的递归遍历、二叉树基本操作。 数据结构实用教程之二叉树,...
⒈ 二叉树的中序、前序、后序的递归、非递归遍历算法,层次序的非递归遍历算法的实现; ⒉ 树与二叉树的转换的实现。
二叉树的递归遍历、非递归遍历和层次遍历
1.建立完全二叉树 2.先序非递归遍历二叉树函数 & 先序递归遍历二叉树验证 3.中序非递归遍历二叉树函数 & 中序递归遍历二叉树验证 4.后序非递归遍历二叉树函数 & 后序递归遍历二叉树验证
递归先序遍历二叉树: 递归中序遍历二叉树: 递归后序遍历二叉树: 非递归先序遍历二叉树: 非递归中序遍历二叉树: 非递归后序遍历二叉树: 非递归中序遍历二叉树(算法2): 层次遍历二叉树: 递归计算单...
二叉树深度 二叉树前序遍历 递归实现 二种非递归实现 二叉树中序遍历: 递归实现 非递归实现 二叉树后序遍历: 递归实现 非递归实现 二叉树层次遍历 二叉树层次创建,创建方法遵循卡特兰数 ...
二叉树的建立和遍历算法 数据结构课程设计用
这是c语言的 二叉树三种完整遍历的递归和非递归遍历的实现 很实用的说
先序递归遍历二叉树 4.中序递归遍历二叉树 5.后序递归遍历二叉树 6.层次遍历二叉树 7.计算二叉树的高度 8.计算二叉树中叶结点个数 9.交换二叉树的左右子树 10.打印二叉树 11.计算二叉树中结点个数 0.结束程序...
详细介绍了JAVA中二叉树的非递归遍历方式,三种方式都是采用栈来辅助完成,其中前序遍历采用的是先入右子节点再入左子节点的方法,这样弹出栈时左在前,右在后。中序遍历的话则是要先一直到达最左的子节点,然后才弹...
数据结构 课程设计二叉树的非递归遍历 对任意给定的二叉树(顶点数自定)建立它的二叉链表存贮结构,并利用栈的五种基本运算(置空栈、进栈、出栈、取栈顶元素、判栈空)实现二叉树的先序、中序、后序三种遍历,输出...
数据结构的代码实现,非递归算法,。
二叉树的递归遍历,中序遍历,先序遍历,后序遍历,通过学习二叉树的遍历,可以让我们更紧一步掌握数据的遍历
二叉树递归与非递归遍历
定义二叉树的存储结构,采用非递归算法实现二叉树的二叉树的先序、中序、后序和按层遍历。并实现求二叉树的深度、求总结点数、求叶子结点、查找某个结点等操作(可以采用递归)。