展开全部
二叉树就是每个节点度数都小于等于2的树。
二叉树一般定义为:
typedef struct BiNode{
TElemType data;//TElemType是数据元素的类型
struct BiNode *lchild,*rchild; //左右孩子指针
}BiTNode,*BiTree;
以C语言为例,二叉树先序、中序、后序遍历的递归算法为:
Status PreOrderTraverse(BiTree T, Status(*Visit)(TElemType e)){
if(T){
if(Visit(T->data))
if(PreOrderTraverse(T->lchild,Visit))
if(PreOrderTraverse(T->rchild,Visit)) return OK;
return ERROR;
}else return OK;
}//PreOrderTraverse
Status InOrderTraverse(BiTree T, Status(*Visit)(TElemType e)){
if(T){
if(InOrderTraverse(T->lchild,Visit))
if(Visit(T->data))
if(InOrderTraverse(T->rchild,Visit)) return OK;
return ERROR;
}else return OK;
}//InOrderTraverse
Status PostOrderTraverse(BiTree T, Status(*Visit)(TElemType e)){
if(T){
if(PostOrderTraverse(T->lchild,Visit))
if(PostOrderTraverse(T->rchild,Visit))
if(Visit(T->data))
return OK;
return ERROR;
}else return OK;
}//PostOrderTraverse
二叉树一般定义为:
typedef struct BiNode{
TElemType data;//TElemType是数据元素的类型
struct BiNode *lchild,*rchild; //左右孩子指针
}BiTNode,*BiTree;
以C语言为例,二叉树先序、中序、后序遍历的递归算法为:
Status PreOrderTraverse(BiTree T, Status(*Visit)(TElemType e)){
if(T){
if(Visit(T->data))
if(PreOrderTraverse(T->lchild,Visit))
if(PreOrderTraverse(T->rchild,Visit)) return OK;
return ERROR;
}else return OK;
}//PreOrderTraverse
Status InOrderTraverse(BiTree T, Status(*Visit)(TElemType e)){
if(T){
if(InOrderTraverse(T->lchild,Visit))
if(Visit(T->data))
if(InOrderTraverse(T->rchild,Visit)) return OK;
return ERROR;
}else return OK;
}//InOrderTraverse
Status PostOrderTraverse(BiTree T, Status(*Visit)(TElemType e)){
if(T){
if(PostOrderTraverse(T->lchild,Visit))
if(PostOrderTraverse(T->rchild,Visit))
if(Visit(T->data))
return OK;
return ERROR;
}else return OK;
}//PostOrderTraverse
展开全部
二叉树:通常分为空二叉树(只有根节点,根节点为空),左子树为空,右子树为空,及正常的二叉树。对二叉树主要进行创建、遍历,其中二叉树的遍历又分为先序遍历,中序遍历,后序遍历。
二叉树的类型定义如下:
typedef char Datatype;
typedef struct node
{
Datatype data;
struct node *lchild;
struct node *rchild;
}Btree;
二叉树的类型定义如下:
typedef char Datatype;
typedef struct node
{
Datatype data;
struct node *lchild;
struct node *rchild;
}Btree;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询