二叉树的建立和遍历

来源:百度知道 编辑:UC知道 时间:2024/05/26 06:53:00
为了实现对二叉树的有关操作,首先要在计算机中建立所需的二叉树(参考教材131算法6.4),然后先序递归遍历、中序递归遍历这棵二叉树。(由于时间关系大家可以只作递归程序就可以了。非递归可以不做。)是用递归算法求二叉树的叶子节点的个数。

#include<iostream>
using namespace std;
typedef struct tree
{
char data;
struct tree *lchild,*rchild;
}bitree;

void creattree(bitree *&T)
{
char data;
cin>>data;
if(data=='#')
T=NULL;
else
{ T=new(bitree);
T->data=data;

creattree(T->lchild);
creattree(T->rchild);}
}
void preorder(bitree *T)
{
if(T)
{
cout<<T->data<<" ";
preorder(T->lchild);
preorder(T->rchild);
}
}
void inorder(bitree *T)
{if(T){
inorder(T->lchild);
cout<<T->data<<" ";
inorder(T->rchild);}
}
void fallorder(bitree *T)
{if(T){
fallorder(T->lchild);
fallorder(T->rchild);
cout<<T->data<<" ";}
}
int depth(bitree *T)
{ int