Programación General > Pascal

 Recorrido Por Niveles

(1/1)

Ocean Soul:
Hola, les queria pedir a alquien si me pasaria o almenos ayudaria o me dijera algun sitio donde pueda encontrar algun algorimo para recorrer arboles binario por niveles.
Gracias...


PD: Es que no me sale hacerlo !!!!!  :(

Alpha_:
Bueno, el algoritmo depende básicamente de lo que quieras hacer. Por ejemplo, acá te dejo uno que lo recorde e imprime sus datos en INORDEN.


--- Código: Text ---procedure recorreArbol(a: puntArbol);begin  if a^.izq <> nil then    recorreArbol(a^.izq);   writeln(a^.datos);   if a^.der <> nil then    recorreArbol(a^.der);end; 
Tan fácil como eso. Obviamente, según lo que necesites hacer, puede que sea iterativo en lugar de recursivo.

Ahora te dejo una modificación de ese, que imprime el número de nivel en el que estás:


--- Código: Text --- procedure recorreArbol(a: puntArbol);begin  recorreArbol2(a, 0);end; procedure recorreArbol2(a: puntArbol; nivel: byte);begin  if a^.izq <> nil then    recorreArbol2(a^.izq, nivel + 1);   writeln(nivel);   if a^.der <> nil then    recorreArbol2(a^.der, nivel + 1);end; 
Saludos.

Zorri.-

Navegación

[0] Índice de Mensajes

Ir a la versión completa