欢迎光临散文网 会员登陆 & 注册

数据结构拓展习题:正则二叉树

2022-05-27 21:35 作者:回到唐朝当少爷  | 我要投稿

题目:试证明:正则二叉树(每个非叶子结点都有左子树和右子树,正则二叉树)只有奇数个结点,偶数条边。设计算法,判定一棵二叉树是否为正则二叉树。


typedef char TElemType;

typedef struct BiTNode

{

       TElemType data;

       struct BiTNode* lchild, * rchild;

}BiTNode, * BiTree;

 

bool IsRegularTree(BiTree T)

{

       if (T == NULL)//如果T为空树,则其为正则二叉树

              return TRUE;

       else if (T->lchild == NULL && T->rchild == NULL)//如果左右节点都空也是

              return TRUE;

       else if (T->lchild != NULL && T->rchild != NULL)//如果左右节点均不空

              if (IsRegularTree(T->lchild)&& IsRegularTree(T->rchild))//判断其左右子树是否为正则二叉树

                     return TRUE;

              else

                     return FALSE;

       else//如果一颗子树非空另一颗空则不是正则二叉树

              return FALSE;

}


数据结构拓展习题:正则二叉树的评论 (共 条)

分享到微博请遵守国家法律