Delphi - Arboles Binarios

 
Vista:

Arboles Binarios

Publicado por Hernan (1 intervención) el 29/04/2004 06:11:26
Hola a todos..
Soy nuevo en delphi, tengo la version 7, el problema es el siguiente,
creé una estructura Arbol Binario todo como objetos, como lo describe en un articulo Nicklaus Wirth, el problema es que necesito graficar el arbol en forma vertical (de Raiz hacia las hojas) , lo que no consigo con el TTreeView, Entonces necesito saber como realizar un recorrido recursivo ya sea en pre post o in orden, e ir calculando las posiciones de los nodos, para dibujarlos en un TImage, con la propiedad Canvas,
queria saber si existe alguna formula como para que el arbol tenga el mejor aspecto posible, sin conocer la profundidad de este ni la cantidad de nodos, algo asi como una funcion recursiva del siguiente tipo

......procedure Dibujar(T:nodo; x,y: Integer);
.
.
pintarRaiz(x,y);
Dibujar(nodo.izq, x ,y + 100);
Dibujar(nodo.Der, x ,y +100 );

end;

El incremento en (y) funciona osea los nodos se listan de arriba hacia abajo, pero no se que calculo hacer en (x) como para que las ramas se expandan en la misma proporcion en forma uniforme.

Lo que no se es en que parte del recorrido dibujo el nodo y sus ramas y como consigo las coordenadas correctas x,y para el Lineto del canvas, para poder dibujar el arbol....

Desde ya si alguien lo pudo resolver, agradeceria compartiera su idea conmigo.... Gracias!!!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder