La Red de Conocimientos Pedagógicos - Aprendizaje de inglés - Los árboles binarios conocidos se almacenan en forma de listas binarias enlazadas. Escriba un algoritmo para calcular los nodos de grado 0 en un árbol binario. El grado es 1,2 grados.

Los árboles binarios conocidos se almacenan en forma de listas binarias enlazadas. Escriba un algoritmo para calcular los nodos de grado 0 en un árbol binario. El grado es 1,2 grados.

# incluir ltstdio.h gt//archivo de encabezado

# incluir ltstdlib.h gt

nodo de bits de estructura typedef

{

char datos;

estructura BiTNode *lchild, *rchild

}

BiTNode, *BiTree//definir tipo de nodo

BiTree CreateBiTree( )//Crear un árbol

{

char p;BiTree T;

scanf("c ", ampp);

if(p== ' ')

T = NULL

Otros

{

t = (nodo de bits *)malloc ( sizeof(bit node)); //Hacer espacio para el nodo

t->; data = p;

t->; l child = create bitree();< / p>

t->;rchild = crear bitree();

}

Retorno (T);

}

Int Nochild(BiTree T)//nodo hoja

{

if(T==NULL)

return(0);

if(T->lchild == NULL amp ampt->rchild==NULL)

return(1);

return(no child(T- gt ;lchild) no child(T- gt;rchild));

}

Int Onechild(BiTree T)//El grado es 1.

{

int n = 0;

if(T==NULL)

return(0);

if((T- gt; lchild == NULL amp ampt->; child! = NULL) | | (T- gt; child. = NULL amp ampt->; rchild==NULL))

n = 1;

return(one child(T- gt;lchild) one child(T- gt;rchild) n);

}

Int Twochild(BiTree T)//Grado 2

{

int n = 0;

if(T==NULL)

return(0);

if(T->; niño.

= NULL amp ampt->¡Niños! = vacío)

n = 1;

return(dos hijos(T- gt;lchild) dos hijos(T- gt;rchild) n);

}

Void main()//función principal

{

BiTree Ta

Printf("Por favor, cree un árbol: \ n ");

ta = create bitree();

Printf("El número de hojas es d, el número con grado 1 es d y el número con grado 2 es d" , ningún hijo (ta), un hijo (ta), dos hijos (ta));

}