IIC2233 / syllabus-2019-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🎉 🎊
43 stars 69 forks source link

TXX: swap #647

Closed isihirmas closed 5 years ago

isihirmas commented 5 years ago

Hola! es obligatorio programar el swap? O basta con que el árbol final quede reordenado con los valores correctos? Saludos!

gatochico commented 5 years ago

Hola! No es necesario que implementes el swap de forma explícita con el método balance dado, pero se recomienda fuertemente hacerlo ya que las alternativas podrían ser mucho más dificiles de implementar. Con tal que el árbol quede ordenado de forma correcta al final, está todo bien. Éxito!

isihirmas commented 5 years ago

Ya es que por ejemplo yo balanceo y al hacerlo asigno los hijos, pero luego en la siguiente iteración no se relaciona que ese nodo es "hijo" de alguien, está bien esa relación? Pregunto por lo que vi en los json de la carpeta test, que según yo por como armé mi árbol no podría hacer ese seguimiento. Osea, cada nodo tiene bien asignados a su hijo izquierdo o derecho, pero en ninguna parte relaciono que ese hijo izquierdo es el padre de otro nodo, se entiende?

gatochico commented 5 years ago

Lo que podrías hacer es agregar un atributo dentro de cada nodo que almacene a su padre para no perder esta referencia y hacer más fácil la implementación de tu arbol. Recuerda que puedes agregar todos los atributos y métodos que quieras, con tal que uses los mínimos pedidos (:

tnmarin commented 5 years ago

sobre el metodo balace......se puede agregarle parametros a la funcion? balance(nodo), asi la funcion sabe del nodo que parte haciendo swap(si es necesario)

Hernan4444 commented 5 years ago

Hola,

No se puede. Pero puedes agregar más atributos a la clase para resolver ese problema.

Saludos ✌️