A、int leaf=0; void LeafCount(BiTree bt) { if(bt==NULL) return; if(bt->L==NULL && bt->R==NULL) leaf++; LeafCount(bt->L); LeafCount(bt->R); }
B、int leaf=0; void LeafCount(BiTree bt) { if(bt==NULL) return; LeafCount(bt->L); if(bt->L==NULL && bt->R==NULL) leaf++; LeafCount(bt->R); }
C、int leaf=0; void LeafCount(BiTree bt) { if(bt==NULL) return; LeafCount(bt->L); LeafCount(bt->R); if(bt->L==NULL && bt->R==NULL) leaf++; }
D、int leaf=0; void LeafCount(BiTree bt) { if(bt->L==NULL && bt->R==NULL) leaf++; LeafCount(bt->L); LeafCount(bt->R); }
(1)统计二叉树的叶结点个数。
(2)设计二叉树的双序遍历算法(双序遍历是指对于二叉树的每一个结点来说,先访问这个结点,再按双序遍历它的左子树,然后再一次访问这个结点,接下来按双序遍历它的右子树)。
(3)计算二叉树最大的宽度(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
(4)用按层次顺序遍历二叉树的方法,统计树中具有度为1的结点数目。
(5)求任意二叉树中第一条最长的路径长度,并输出此路径上各结点的值。
(6)输出二叉树中从每个叶子结点到根结点的路径。
typedef char DataType;
typedef struct node{
DataType data;
struct node*lchild,*rchild; //左右孩子指针
struct node*parent; //指向双亲的指针
}BinTNode;
typedef BinTNode*BinTree;
若px为指向非空二叉树中某个结点的指针,可借助该结构求得px所指结点在二叉树的中序序列中的后继。
1. 就后继的不同情况,简要叙述实现求后继操作的方法;
A、int LCC(BiTree T) { if(T==NULL) return 0; if(T->lchild != NULL && T->rchild==NULL) return 1 + LCC(T->lchild) ; }
B、int LCC(BiTree T) { if(T==NULL) return 0; if(T->lchild != NULL && T->rchild==NULL) return 1 + LCC(T->lchild) + LCC(T->rchild); else return LCC(T->rchild); }
C、int LCC(BiTree T) { if(T==NULL) return 0; if(T->lchild != NULL) return 1 + LCC(T->lchild) + LCC(T->rchild); else return LCC(T->rchild); }
D、int LCC(BiTree T) { if(T==NULL) return 0; if(T->lchild != NULL) return 1 + LCC(T->lchild) ; else return 1+LCC(T->rchild); }
为了保护您的账号安全,请在“简答题”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!