帮忙解释下二叉树,谢谢,详细点的
二叉树就是每个节点度数都小于等于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;}//PreOrderTraverseStatus 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;}//InOrderTraverseStatus 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;
答:提问时可以上传图片,但必须是保存在自己电脑中的J以Jpg或gif结尾的图片,大小不能超过200K。 具体上传方法如下: 输入问题标题和内容后,先点“问题描述”栏...详情>>