Solicitar proceso de programación detallado
# incluir ltstdio.h gt
# incluir ltstdlib.h gt
typedef? estructura? Bittree
{
¿Carácter? Datos;
¿Árbol de bits? *lchild, * rchild
}?BTree, * pBTree
¿No válido? CreateTree(pBTree?*p)
{
Carácter? c='? ';
mientras(c== '?'||c=='\n ')? //Evita escribir espacios o nuevas líneas incorrectos.
scanf("c ", ampc);
if(c=='0 ') ¿devuelve? ; //De forma predeterminada, ingresa 0 en las hojas.
* p =(pBTree)malloc(sizeof(BTree));
(* p)- gt; datos = c
(* p) - gt;rchild = (* p)- gt;lchild = NULL
Crear árbol (amp((* p)- gt;lchild)); //Crear subárbol izquierdo
Crear árbol (amp((* p)- gt; rchild)); //Crear subárbol derecho
}
¿No es válido? Preorder(pBTree?p)
{//Recorrido de preorden
// Primero visite el nodo raíz, luego visite el subárbol izquierdo y finalmente visite el subárbol derecho.
¿si(p==NULL) regresa? ;
printf("c",p- gt; data);
Reserva(p->;l niño);
Reserva (p-> ;rchild);
}
¿No es válido? Inorder(pBTree?p)
{//Recorrido en orden
//Primero visite el subárbol izquierdo, luego visite el nodo raíz y finalmente visite el subárbol derecho.
¿si(p==NULL) regresa? ;
Para (p- gt; l niño);
printf ("c ", p- gt; datos
Para (p- gt); ;rchild);
}
¿No es válido? Postorden (pBTree?p)
{//Recorrido de postorden
//Primero visite el subárbol izquierdo, luego el subárbol derecho y finalmente el nodo raíz.
¿si(p==NULL) regresa? ;
Pedido por correo(p-gt;l niño);
Pedido por correo(p-gt;rchild);
printf("c",p -gt ;datos);
}
int? principal()
{
pBTree? Tree;
Printf("Comience a construir un árbol binario, ingrese datos:");
Crear árbol (amp tree);
Printf("Recorrido anterior resultados :\n ");
Preorden (árbol);
printf(" \n ");
Printf("Resultado del recorrido en orden: \ n ");
Inorder(árbol);
printf(" \ n ");
Printf("Publicar resultado transversal: \ n ");
Postorder (árbol);
printf(" \ n ");
¿Regresión? 0;
}