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
Ir a la versión completa