Mayo de 2022

Mayo de 2022

de Tomas Jorge Carrau Giacummo -
Número de respuestas: 1

Considere la siguiente definición para árboles binarios de enteros (AB): 
struct nodoAB{
int dato;
 nodoAB *izq, *der; 

typedef struct nodoAB * AB;
 Implemente una función recursiva (sin usar iteración) maximo que dado un árbol binario t de tipo AB retorne un puntero al nodo de t que tenga el dato mayor (el máximo), o NULL si t es NULL. Asumimos que t no tiene elementos repetidos, aunque no puede asumirse que los elementos en t están ordenados como en un árbol binario de búsqueda. No defina ni asuma la existencia de operaciones auxiliares para implementar maximo. Además, la función maximo no deberá visitar cada nodo de t más de una vez (solo se puede recorrer el árbol una vez). PRE: t no tiene elementos repetidos AB maximo(AB t)

porque no alcanza con decir esto?:

AB maximo(AB t){
    if(t == NULL){
        return  NULL;
    }
    else if( t->der == NULL){
        return t;
    }
    else {
        maximo(t->der);
    }
}



En respuesta a Tomas Jorge Carrau Giacummo

Re: Mayo de 2022

de Carlos Luna -

Hola.

Como dice la letra, no es un árbol binario de búsqueda. El máximo puede estar en cualquier parte del árbol (que se asume no tiene elementos repetidos).

Saludos, Carlos