Publicado el 23 de Enero del 2021
573 visualizaciones desde el 23 de Enero del 2021
184,7 KB
3 paginas
Creado hace 11a (26/10/2013)
BUSQUEDAS EN LISP
Búsqueda en anchura:
ALGORITMO:
Función Ba (lista n){
si(lista tiene elementos)entonces{
Crear lista2
Mientras (lista tenga elementos)hacer{
Elemento=primero de lista
Si (elemento es atomo) entonces{
Si (elemento=n) entonces
Escribir encontrado
}
Sino {
Si ((primero de elemento)=n)
Escribir encontrado
Sino
Guardar en lista 2 los hijos de elemento
}
}
Ba(lista2 n)
}
}
En LISP
Búsqueda en Profundidad:
Explicación:
Primero se pregunta si la lista es vacia con endp, si esta se asigna 0, sino se
continua con el proceso
Con el comando atom se pregunta si el primer elemento de la lista es un atomo
,si es asi se compara con el elemento a buscar y se asigna 1 una unidad como
elemento de bandera
Se utiliza un valor 0= no encontrado
1=encontrado
defun busqueda_profundidad(l x)
(if(endp l) 0
(if(atom (car l))
(if(eq (car l) x)
(+ 1 (busqueda_profundidad (cdr l) x))
(+ 0 (busqueda_profundidad (cdr l) x))) (+ (busqueda_profundidad (car l) x)
(busqueda_profundidad (cdr l) x))))
Búsqueda best-first (primero el mejor)
Comentarios de: Busquedas en Lisp (0)
No hay comentarios