• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-18
  • 语言: 其他
  • 标签: 二叉树  

资源简介

树的基本运算:创建树;输出树(凹入显示);遍历树(先序、中序、后序、层次);求二叉树的深度;求叶子数;求结点数。

资源截图

代码片段和文件信息

#include
#include
int LeafCount=0;
int sum =0;
typedef struct Node{
char data;
struct Node *Lchild;//左孩子 
struct Node *Rchild;//右孩子 
struct Node *Parent;//父亲 
}BiTNode*BiTree;

void CreateBiTee(BiTree * bt){//创建二叉链表; 
char ch;
ch=getchar();
if(ch==‘.‘)
*bt=NULL;
else
{
*bt=(BiTree)malloc(sizeof(BiTNode));
(*bt)->data=ch;
CreateBiTee(&((*bt))->Lchild);
CreateBiTee(&((*bt))->Rchild);
}
}
void PreOrder(BiTree root)//先序遍历输出二叉树中的节点 
{
if(root!=NULL){
printf(“%c“root->data); //输出节点; 
PreOrder(root->Lchild);
PreOrder(root->Rchild); 

}
}


void InOrder(BiTree root){//中序遍历输出二叉树的节点 
if(root!=NULL){
InOrder(root->Lchild);
printf(“%c“root->data);
InOrder(root->Rchild); 
}

void PostOrder(BiTree root){//后序遍历输出二叉树的节点 
if(root!=NULL){
PostOrder(root->Lchild);
PostOrder(root->Rchild);
printf(“%c“root->data); 
}
}
void leaf(BiTree root){//后续遍历统计叶子结点数目; 
if(root!=NULL){
leaf(root->Lchild);
leaf(ro

评论

共有 条评论