Red de conocimiento informático - Aprendizaje de código fuente - Cree el siguiente árbol binario en orden de precedencia y luego genere el valor, el nivel y los nodos secundarios izquierdo y derecho de los nodos en orden de precedencia escritos en lenguaje C, para que los principiantes aprendan la estructura de datos;

Cree el siguiente árbol binario en orden de precedencia y luego genere el valor, el nivel y los nodos secundarios izquierdo y derecho de los nodos en orden de precedencia escritos en lenguaje C, para que los principiantes aprendan la estructura de datos;

#include

#include

#include

# define VERDADERO 1

#define FALSO 0

#define OK 1

#define ERROR 0

#define INFEASIBLE -1

#define OVERFLOW -2

typedef int Estado;

typedef char elemtype;

typedef struct BiTNode{

elemtype data;

struct BiTNode *lchild,*rchild

}BiTNode,*BiTree;

//Construir un árbol binario

Estado CreateBiTree(BiTree &T){

elemtype ch;

ch=getchar();

if(ch==' '){T=NULL ;}

else{

if(!(T=(BiTNode *)malloc(sizeof(BiTNode))))

return FALSE;

T->data=ch;

CreateBiTree(T->lchild);

CreateBiTree(T->rchild);

}

return OK;

}

// Recorrido de pedido anticipado

void PreOrderTraverse(BiTree T){

if( T!=NULL){

printf("%c ",T->datos);

PreOrderTraverse(T->lchild);

PreOrderTraverse( T->rchild);

}

}

//El número de nodos de hoja

Estado Número de hoja(BiTree) T){

int num1=0,num2=0;

if(T==NULL)

devuelve 0;

else if ( T->lchild==NULL&&T->rchild==NULL) devuelve 1;

else

{

num1=Número de hoja(T-> lchild);

num2=Número de hoja(T->rchild);

return(num1+num2);

}

}

//La profundidad del árbol

<

p>Status DepthTree(BiTree T){

int llength=0,rlength=0;

if(T==NULL) devuelve 0;

else {

llength=DepthTree(T->lchild);

rlength=DepthTree(T->rchild);

return(llength>rlength)?( llength+1):(rlength+1);

}

}

void main()

{

BiTree s;

printf("Ingrese una cadena, use espacios para representar espacios\n");

CreateBiTree(s);

printf ( "Salida del pedido anticipado:\n");

PreOrderTraverse(s);

printf("\nProfundidad del árbol: %d\n",DepthTree(s)

getch();

}