Documente Academic
Documente Profesional
Documente Cultură
Programacin en C
RBOLES
Arboles
Programacin en C
Introduccin
Los rboles son tiles en todos aquellos problemas donde la informacin est jerarquizada. Elementos de un rbol
Nodo:
Nodo padre: Tiene nodos hijos. Nodo hijo: Tiene un nodo padre. Nodo raiz o raiz del rbol: No tiene nodo padre. Nodo terminal u hoja: No tiene nodos hijos
Nodo raiz
Nodo padre
Nodo hijo
Nodo hoja
Subrbol
Arboles
Programacin en C typedef struct stNodoGen { char sNom[20]; int nHijos; struct stNodoGen *pHijos; } TNodoGen; Informacin nHijos= 2 pHijos Pseudocdigo ArbolRecorrer ArbolRecorrer(Nodo) { Recursiva Calculo(Nodo); if (Hay hijos) { Por cada hijo ArbolRecorrer(Nodo hijo) } }
UPCO ICAI Departamento de Electrnica y Automtica 3
Programacin en C
Arboles
Programacin en C
Arboles
Programacin en C
Arboles
Programacin en C
void ArbolGenSalva(FILE *pfic, TNodoGen *p){ int i; fprintf(pfic,"%s\n",p->sNom); fprintf(pfic,"%d\n",p->nHijos); for(i=0;i<p->nHijos;i++) ArbolGenSalva(pfic,p->pHijos+i); }
Arboles
Programacin en C
Arboles
Programacin en C
Borrar rbol
Primero borrar los hijos si los hay
Arboles
Programacin en C
Programa de prueba
main() { FILE *pfic; TNodoGen Padre;
// Nodo padre
MemIni(); fprintf(stdout,"Memoria inicial %ld\n",MemConsulta()); if ((pfic=fopen("gen.txt","r"))==NULL) return 1; ArbolGenLee(pfic,&Padre); ArbolGenSalva(stdout,&Padre); ArbolGenImp(stdout,&Padre); ArbolGenBorra(&Padre); fprintf(stdout,"Memoria final %ld\n",MemConsulta()); return 0; }
Prof. Jos A. Rodrguez Mondjar Prof. lvaro Snchez Miralles UPCO ICAI Departamento de Electrnica y Automtica 9
Arboles
Programacin en C
Arboles
Programacin en C
Primitivas de dibujo:
Punto. Recta. Polgono. Crculo
Ventana
Ventana1
Primitivas de organizacin
Ventana
Ventana10
Ventana0
Arboles
Programacin en C
Punto Figura
Dice como tratar los puntos de la figura Ventana con figuras y subventanas