难度级别:A
#include<stdio.h>
#include<stdlib.h>
struct BiTNode{
char data;
struct BiTNode *lchild;
struct BiTNode *rchild;
};
typedef struct BiTNode *BiTree;
void CreatBiTree(BiTree *T)
{
char ch;
ch=getchar();
if(ch=='*')
*T=NULL;
else{
if(!(*T=(BiTree)malloc(sizeof(struct BiTNode)))){
printf("内存分配失败!"); return ;
}
else{
(*T)->data=ch;
CreatBiTree(&((*T)->lchild));
CreatBiTree(&((*T)->rchild));
}
}
}
void PreOrderTraverse(BiTree T){
if(T){
printf("%c",T->data);
if(T->lchild)
PreOrderTraverse(T->lchild);
if(T->rchild)
PreOrderTraverse(T->rchild);
}
}
void InOrderTraverse(BiTree T){
if(T){
if(T->lchild)
InOrderTraverse(T->lchild);
printf("%c",T->data);
if(T->rchild)
PreOrderTraverse(T->rchild);
}
}
void PostOrderTraverse(BiTree T){
if(T){
if(T->lchild)
PreOrderTraverse(T->lchild);
if(T->rchild)
PreOrderTraverse(T->rchild);
printf("%c",T->data);
}
}
int main()
{
BiTree T=NULL;
printf("请输入二叉树:/n");
CreatBiTree(&T);
printf("/n");
printf("先序遍历二叉树为:/n");
PreOrderTraverse(T);
printf("/n");
printf("中序遍历二叉树为:/n");
InOrderTraverse(T);
printf("/n");
printf("后序遍历二叉树为:/n");
PostOrderTraverse(T);
printf("/n");
system("pause");
return 0;
}
分享到:
相关推荐
数据结构 二叉树三种遍历的非递归算法(背诵版). 数据结构 二叉树三种遍历的非递归算法(背诵版). 数据结构 二叉树三种遍历的非递归算法(背诵版).
9、 按先序遍历的扩展序列建立二叉树的存储结构 10、二叉树先序、中序、后序遍历的递归算法 11、二叉树中序遍历的非递归算法 12、二叉树层次遍历的非递归算法 13、求二叉树的深度(后序遍历) 14、建立树的存储结构
这些代码主要是针对严蔚敏老师的《数据结构》一书中的大部分伪代码编辑的代码,能够正常运行,是基于C++编写的代码,包括,数组线性表,链表线性表、双向链表、顺序栈、链栈、链队列,顺序队列,循环队列、KMP算法、...
作 者:严蔚敏 李冬梅 吴伟民 出版时间:2011-2-1 0:00:00 [1] 字 数:398千字 责任编辑:蒋亮 页 数:236页 开 本:16 ISBN书号:978-7-115-23490-2 所属分类:本科 >> 计算机类 >> 数据结构与算法 所属丛书:...
06-005二叉树的前序、中序和后序遍历的递归与非递归算法 06-006统计二叉树中叶子结点个数、按给定的先序序列建立二叉链表 06-007线索链表的建立与遍历 06-008树的存储结构、森林和二叉树的转换、树和森林的遍历 06-...
1.4.10 中序非递归遍历二叉树(链式结构)(1) 174 范例1-64 中序非递归遍历二叉树 174 ∷相关函数:InOrderTraverse函数 1.4.11 中序非递归遍历二叉树(链式结构)(2) 177 范例1-65 中序非递归遍历二叉树 177 ∷...
1.4.10 中序非递归遍历二叉树(链式结构)(1) 174 范例1-64 中序非递归遍历二叉树 174 ∷相关函数:InOrderTraverse函数 1.4.11 中序非递归遍历二叉树(链式结构)(2) 177 范例1-65 中序非递归遍历二叉树 177 ∷...
本课件是一个动态演示数据结构算法执行过程的辅助教学软件, 它可适应读者对算法的输入数据和过程执行的控制方式的不同需求, 在计算机的屏幕上显示算法执行过程中数据的逻辑结构或存储结构的变化状况或递归算法执行...
1.编写程序任意输入二叉树的结点个数和结点值,构造一棵二叉树,采用三种递归遍历算法(前序、中序、后序)对这棵二叉树进行遍历并计算出二叉树的高度。 2 .编写程序生成下面所示的二叉树,并采用中序遍历的非递归...
线索和遍历二叉树(c语言描述) 配数据结构 严蔚敏
· 《数据结构(C语言版) 严蔚敏主编》内容提要: 《数据结构》(C语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参考教材。本书的前半部分从抽象数据类型的角度讨论各种基本类型...
本课件是一个动态演示数据结构算法执行过程的辅助教学软件, 它可适应读者对算法的输入数据和过程执行的控制方式的不同需求, 在计算机的屏幕上显示算法执行过程中数据的逻辑结构或存储结构的变化状况或递归算法执行...
数据结构算法实现(严蔚敏版配套实现程序) 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 ...
78.9.1 动态存储方式与静态动态存储方式 120 8.9.2 auto变量 120 8.9.3 用static 声明局部变量 121 8.9.4 register 变量 122 用extern 声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义...
数据结构算法实现(严蔚敏版配套实现程序) 目录: 第1章 绪论 1.1 什么是数据结构 1.2 基本概念和术语 1.3 抽象数据类型的表现与实现 1.4 算法和算法分析 第2章 线性表 2.1 线性表的类型定义 2.2 线性表的顺序...
78.9.1 动态存储方式与静态动态存储方式 120 8.9.2 auto变量 120 8.9.3 用static 声明局部变量 121 8.9.4 register 变量 122 用extern 声明外部变量 123 9 预处理命令 9.1 概述 124 9.2 宏定义 125 9.2.1 无参宏定义...
《数据结构》(c语言版)是为“数据结构”课程编写的教材,也可作为学习数据结构及其算法的C程序设计的参数教材。学了数据结构后,许多以前写起来很繁杂的代码现在写起来很清晰明了. 本书的前半部分从抽象数据类型的...
二叉树:递归遍历及应用 有序表的二分法查找 快速排序 简单选择排序 2. 绪论 掌握几个重要概念 数据结构、抽象数据类型、算法 时间复杂度的简单计算(C ) 掌握几种说法 数据元素是…,数据项是… 数据结构中...
严蔚敏,清华大学计算机系教授,长期从事数据结构教学和教材建设,和吴伟民合作编著的《数据结构》曾获“第二届普通高等学校优秀教材全国特等奖”和“1996年度国家科学技术进步奖三等奖”。 目录: 第1章 绪论 1.1...