Está en la página 1de 1

Bsqueda con retroceso

La bsqueda con retroceso es un tipo de bsqueda en profundidad, lo que permite una menor complejidad espacial, es decir, una cantidad ms pequea de la memoria fsica para operar. En un algoritmo de bsqueda normal en profundidad tiene que mantener en la memoria de todos los caminos y las ramas de un ramal desde el nodo de origen a los nodos secundarios. Por ejemplo, un rbol de bsqueda con 3 generaciones de nodos d = 3) y un mximo de cinco ramas por nodo (b = 5) requiere un espacio en la memoria igual a 15 (bxd). En el algoritmo de bsqueda tradicional de carga en profundidad todas las sub-ramas antes de analizar cada camino de la sucursal.

En la bsqueda con retroceso, en cambio, el algoritmo se limita a ampliar slo un camino a la vez, dentro de la misma rama, sin tener que abrir todos los sucesores de otros nodos, y para grabar en una informacin variable en el nodo sucesor para ser analizadas en a continuacin. De esta manera la bsqueda con retroceso requiere una cantidad de memoria igual al nmero de generaciones de la rama d = 3) y la informacin adicional necesaria para conocer la siguiente porcin de ramificacin (nodo sucesor). En otras palabras, el algoritmo de bsqueda con baktracking su camino de vuelta (vuelta retrocediendo =) liberando la memoria utilizada para analizar cada vez que termina en una rama antes de pasar a la siguiente.

Tomemos un ejemplo prctico de bsqueda con retroceso. En el algoritmo de ejecucin del primer ciclo con la marcha atrs, expanda la rama del registro de nodo 3 y 4 en el nodo sucesor en una variable dicotmica. Entonces el producto mediante el anlisis de la va desde el nodo 1 al nodo 3. Al final del ciclo de la rama de procesamiento de 1-2-3, la ley sucesor de la rama (4) la variable ficticia, libera la memoria utilizada para registrar la ramificacin 1-2-3 y volver a utilizar para guardar la nueva rama 1.2 -4 todava a analizar. Y as sucesivamente hasta la ltima rama de la profundidad del nodo de origen. En conclusin, por la tcnica de la memoria temporal del algoritmo de bsqueda con retroceso necesita una memoria de O (d), muy por debajo de la cantidad de memoria O (bd) de un algoritmo en profundidad tradicional, reduciendo en gran medida la complejidad de la espacial ' algoritmo de bsqueda.