Imprimir un árbol binario enC

Me dejarou trabajo en el cual me daban un grafo y del grafo tenia que convertir a rabol binario, ese no es problema, de hecho eso ya lo tengo pero la otra cosa que me piden es en verdad un dolor de cabeza ya que he intentado y noe sale bien. Lo que me piden es imprimir el árbol, con estructura y todo, así como en estructura de datos con sus uniones y sus nodos. Necesito saber si me puedn ayudar a resolver esto. Para ser más clara tienes un árbol binario y lo quieres imprimir con formato. Bueno ojala me puedan ayudar y gracias.

1 respuesta

Respuesta
1
Supongo que lo que quieres hacer es dibujarlo en pantalla, y partimos de que el árbol ya esta bien construido, pues, si es un árbol binario, no creo que haya problema.
Comenzarías dibujando por la raíz, luego hijo derecho ( sus hijos ) y luego el izquierdo ( y sus hijos ).
¿QUÉ cómo se hace eso? Pues depende de la librería gráfica que estés implementando...
Aunque ahora que leo bien tu mensaje, creo que lo que quieres es imprimirlo por pantalla todo bonito.
Pues a ver... si se supone que el árbol esta equilibrado ( deberá = numero de noods por la derecha que por la izquierda ) pues lo que haces es imprimir la raíz a numeroNodos/2 del margen izquierdo de la pantalla, es decir que imprimes numeroNodos/2 + ajuste espacios.
Para el siguiente nivel, deberás de tener 2 lugares...
Mmm, que te parece intentar crear una cosa así:
cadenaFormato = " %d";
printf ( cadenaFormato , raiz );
cadenaFormato = sprintf (" %d %d ");
printf ( cadenaFormato , raiz->hijoderecho , raiz-> hijoIzquierdo );
¿QUÉ te parece mi idea? A ver si te puede ayudar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas