Ejercicio 4

Ejercicio 4

de Lucia Thais De Oliveira Gude -
Número de respuestas: 1

Viendo el ejercicio resuelto en youtube me surgió una duda del ejercicio 3.iii. yo entendí que la funcipon devolvía un elemento de tipo uint, pero en la resolución del cuatro lo emplea como si devolviera un ABB, cuál sería la forma correcta? Muchas gracias

En respuesta a Lucia Thais De Oliveira Gude

Re: Ejercicio 4

de Sofia Tito Virgilio Rodriguez -

Hola Lucia,

En general una operación de búsqueda (como maxABB) tiene dos opciones, o retornar el elemento (de tipo uint en el caso del Ejercicio 3) de máximo valor en la estructura, o retornar una referencia (en este caso de tipo ABB) al nodo que contiene dicho elemento.

Es verdad que en el Ejercicio 3 al pedir que se retorne el elemento lo más natural es devolver el elemento de tipo uint, por lo que para ser consistentes en el Ejercicio 4 se tendría que obviar el ->info que se aplica sobre el resultado de la invocación a maxABB (ya que en este caso los "elementos" del árbol son de tipo EstInfo).

También podría estar retornando directamente el int (clave) dentro del EstInfo que alcanza el máximo, pero esto ya tendría un mayor impacto, por ejemplo, en que no tendríamos el EstInfo a la hora de hacer la asignación res->info = imayor y tendríamos que realizar una búsqueda en el árbol a partir de la clave para poder obtener el EstInfo que la contiene y recién entonces poder asignarlo al nuevo nodo, por lo que no sería la opción más amigable.

Al no especificarse la firma de la función estas decisiones quedan un poco a criterio del programador, por lo que si se retornase un ABB (en ambos casos) tampoco estaría mal.

Son todas opciones válidas, el error fue no ser del todo consistentes entre ambos ejercicios.

Espero haber aclarado tu duda, cualquier cosa volvé a consultar,

Saludos!