Implementar 1 función
de búsqueda amplitud en lisp que dada una lista (árbol) el nodo final
despliegue la trama solución
Solución
2
Primero creamos un archivo en lisp llamado amplitud e ingresamos las listas y empezamos a realizar la búsqueda
Ejecución 2
(DEFUN busqueda_amplitud (lista fin)
( IF (NOT (NULl lista ))
(IF (ATOM (CAR lista ) )
(PRINT (CAR lista ))
(PRINT (CAAR lista ))
)
)
(IF (NOT (NULL lista ))
(IF (ATOM (CAR lista ))
(IF (NOT(EQUAL (CAR lista )(CAR fin)))
( busqueda_amplitud (APPEND (CDR lista )) fin)
)
(IF (NOT(EQUAL (CAAR lista )(CAR fin)))
(busqueda_amplitud (APPEND(CDR lista )(CDAR lista)) fin)
)
)
)
)
Ejemplo1
> (busqueda_amplitud '(a (b ( d e)) (c (f g)) ) '(G))
Ejemplo2
> (busqueda_amplitud '((C (J (G O) K (L M N) P (Q R (T))))) '(m))O) K (L M N) P (Q R (T))))) '(m))
Primero creamos un archivo en lisp llamado amplitud e ingresamos las listas y empezamos a realizar la búsqueda
Ejecución 2
(DEFUN busqueda_amplitud (lista fin)
( IF (NOT (NULl lista ))
(IF (ATOM (CAR lista ) )
(PRINT (CAR lista ))
(PRINT (CAAR lista ))
)
)
(IF (NOT (NULL lista ))
(IF (ATOM (CAR lista ))
(IF (NOT(EQUAL (CAR lista )(CAR fin)))
( busqueda_amplitud (APPEND (CDR lista )) fin)
)
(IF (NOT(EQUAL (CAAR lista )(CAR fin)))
(busqueda_amplitud (APPEND(CDR lista )(CDAR lista)) fin)
)
)
)
)
Ejemplo1
> (busqueda_amplitud '(a (b ( d e)) (c (f g)) ) '(G))
Ejemplo2
> (busqueda_amplitud '((C (J (G O) K (L M N) P (Q R (T))))) '(m))O) K (L M N) P (Q R (T))))) '(m))
No hay comentarios:
Publicar un comentario