Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PRACTICA # 10
Se requiere un apuntador auxiliar para conservar una referencia al padre del nodo
raíz actual. El valor inicial para ese apuntador NULL.
Si el valor del nodo raíz
Eliminar nodo:
1. Buscar el nodo padre del que queremos eliminar.
2. Buscar el puntero del nodo padre que apunta al nodoque queremos borrar.
3. Liberar el nodo. padre->nodo[i] = NULL
actual = *a;
2. Explicar el algoritmo para recorrer el árbol en preorden identificar las líneas de código
correspondientes y dibujar su diagrama de bloques
El valor del nodo se procesa antes de recorrer las ramas
void PreOrden(Arbol a)
{
if(a == NULL) return;
Procesar(dato);
RecorrerArbol(a->rama[0]);
RecorrerArbol(a->rama[1]);
RecorrerArbol(a->rama[2]);
}
El proceso de datos es:
ABEKFCGLMDHJNO
3. Explicar el algoritmo para recorrer el árbol en inorden identificar las líneas de código
correspondientes y dibujar su diagrama de bloques
El valor del nodo se procesa después de recorrer la primera rama y antes de recorrer
la última.
/* Recorrido de árbol en inorden, aplicamos la función func, que tieneel prototipo:
void func(int*);
*/
void InOrden(Arbol a, void (*func)(int*))
{
if(a->izquierdo)
InOrden(a->izquierdo, func);
func(&(a->dato));
if(a->derecho)InOrden(a->derecho, func);
}
KEBFA LGMCHDNJO
4. Explicar el algoritmo para recorrer el árbol en postorden identificar las
líneas de código correspondientes y dibujar su diagrama de bloques
KEFBLMGCHNOJDA