Ver Mensaje Individual
  #2  
Antiguo 06-02-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Reputación: 19
reina Va por buen camino
Holas! bueno..con respecto a:
*el recorrido del arbol para formar una lista en forma descendente..deberias tener el arbol binario ordenado..los items del arbol deberian haberse insertado
ordenadamente..despues podrias recorrer el arbol INORDEN(descendente) y de cada visita mandas a un proceso insertar lista donde cada nodo que traigas lo vayas poniendo al final de la lista..

Código Delphi [-]
procedure recorrer_inorden(A:arbolBin );
begin
     if A <> nil ) then
     begin  
           recorrer_inorden(A^.der);
           insertarlista(A^.nodo);
           recorrer_inorden(A^.izq);
     end;
end;
..bueno algo asi..ja

*lo de los niveles..seria como un recorrido en amplitud creo.. consiste en encolar (si no están vacíos) los subárboles izquierdo y derecho del nodo extraido de la cola, y seguir desencolando y encolando hasta que la cola esté vacía. Es una idea nomas..es iterativo no recursivo..

Código Delphi [-]
if (A <> nil) begin    
    CrearCola(cola);
    encolar(cola, A);
    while not(colaVacia(cola))begin
         desencolar(cola, aux);
         imprimir(aux);
         if (aux^.izq <> nil) encolar(cola, aux^.izq);
         if (aux^.der <> nil) encolar(cola, aux^.der);
    end;
end;

algo asi tambien..
ahi tenes que fijarte como sacar el nro de nivel..pero creo que es facil no?

*Con respecto a la altura del arbol es la cantidad de niveles..que tiene bueno..con lo de arriba deberias darte cuenta..y en si tb lo podrias hacer recursivo..siempre quedandote con el nro..mayor recorriendo hacia la der e izq.

espero que te haya dado una idea..todo esto, de todas maneras las operaciones con arboles binarios no tienen demasiada complicacion..ya que solo tenemos 2 nodos! por nivel..al insertar deberias insertar ordenadamente..el problema de esto es que el arbol por lo gral queda desbalanceado..pero se pueden aplicar tecnicas de balanceo.

saludos!

LA PATRIA SERA LIBRE
Responder Con Cita