Problem:数据结构中树的度是什么?
Answer:树内各结点的度的最大值.(结点拥有的子树数称为结点的度).
一个元素的度是指其
孩子的个数;叶结点的度为0;一棵树的度是其元素的度的最大值;
链接:树和二叉树的相互转化
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
using namespace std;
int maxn=0;
typedef struct node
{
char data;
struct node *L_Kid,*R_Kid;
}Tree;
void initTree(Tree *&T)
{
char str;
cin>>str;
if(str!='#')
{
T=(Tree *)malloc(sizeof(Tree));
T->data=str;
initTree(T->L_Kid);
initTree(T->R_Kid);
}
else T=NULL;
}
void Traverse(Tree *&T,int n)
{
if(T!=NULL)
{
Traverse(T->R_Kid,n+1);
Traverse(T->L_Kid,1);
}
if(maxn<n) maxn=n;
}
int main()
{
Tree *T;
initTree(T);
int n=0;
if(T->R_Kid==NULL)
{
Traverse(T,n);
cout<<maxn-1;
}
else cout<<"ERROR";
return 0;
}