Академический Документы
Профессиональный Документы
Культура Документы
Edecio Freitez
QU SON BSQUEDAS?
Las bsquedas son uno de los recursos ms bsicos e importantes dentro de las tcnicas de programacin. Realmente, resulta difcil hacer hincapi suficiente en la importancia que representan las tcnicas de bsqueda dentro del conjunto de herramientas diarias de un programador. Pero, A qu nos referimos con bsqueda? Qu es lo que se est buscando? Cundo utilizar una bsqueda?
BSQUEDA EN PROFUNDIDAD
Esta bsqueda, como su nombre lo indica, trata de llegar siempre lo ms profundo que pueda, en cada paso, si an no ha encontrado la solucin, trata de bajar un nivel en el rbol, si no es posible bajar ms, entonces regresa un nivel y trata de bajar por la siguiente rama que todava no haya recorrido. Las bsquedas en profundidad por lo general se implementan por medio de una funcin recursiva aunque tambin puede realizarse mediante una pila.
Algoritmo de Ejecucin:
1. Si el estado inicial es un estado objetivo, terminar y devolver un xito.
Algoritmo de Ejecucin:
1. Crear una variable llamada LISTA-NODOS y asignarle el estado inicial.
i. Aplicar la regla para generar un nuevo estado. ii. Si el nuevo estado es un estado objetivo, terminar y devolver este estado. iii. En caso contrario, aadir el nuevo estado al final de LISTA-NODOS.
EJEMPLO
El problema de las jarras de agua: Se tiene dos jarras, una de cuatro litro de capacidad y otra de tres. Ninguna de ellas tiene marcas de medicin. Se tiene una bomba que permite llenar las jarras de agua. Cmo se puede lograr obtener exactamente dos litros de agua en la jarra de cuatro litro de capacidad?
(0,0)
(4,0)
(4,3)