Está en la página 1de 4

Inteligencia Artificial Grupo 05

BUSQUEDA EN PROFUNDIDAD Y
AMPLITUD EN LISP
1- Bsqueda en un rbol binario usando el recorrido por
profundidad.
DATO
NRO
BUSQUE
DAS

1
1

BUSQUEDA POR PROFUNDIDAD


2
3
4
5
6
7
2
6
3
4
7
5

8
8

9
9

CL-USER 1 > setq L '(1 (2 4 (5 7)) ( 3 ( 6 8 9))))


(1 (2 4 (5 7)) (3 (6 8 9)))
CL-USER 18 : 7 > (defun busq_profundidad (x L)
(let ((L1 (car L)))
(cond ((null L1) 0)
(t (cond ((atom L1) (cond ((= x L1) (+ 1))
(t ( + 1 (busq_profundidad x (append (cdr (list
L1)) (cdr L)))))))
((listp L1) (cond ((= x (car L1)) (+ 1))
(t (cond ((null (caddr L1)) ( + 1
(busq_profundidad x (append (LIST (cadr L1))
(cdr L)))) )
(t ( + 1 (busq_profundidad x
(append (LIST (cadr L1) (caddr L1)) (cdr
L)))) )))
)))
))
))

Inteligencia Artificial Grupo 05

Inteligencia Artificial Grupo 05


2- Bsqueda en un rbol binario usando el recorrido por
amplitud
DATO
NRO
BUSQUE
DAS

1
1

2
2

BUSQUEDA POR AMPLITUD


3
4
5
6
3
4
5
6

7
7

8
8

9
9

AMPLITUD
CL-USER 1 > setq L '(1 (2 4 (5 7)) ( 3 ( 6 8 9))))
(1 (2 4 (5 7)) (3 (6 8 9)))
CL-USER 2 > (defun busq_amplitud (x L)
(let ((L1 (car L)))
(cond ((null L1) 0)
(t (cond ((atom L1) (cond ((= x L1) ( + 1 ))
(t
( + 1 (busq_amplitud x (append (cdr
(list L1)) (cdr L)))) )))
((listp L1) (cond ((= x (car L1)) ( + 1 ))
(t ( + 1 (busq_amplitud x (append (cdr
(list L1)) (cdr L) (cdar L)))) ))
))))
))
BUSQ_AMPLITUD

Inteligencia Artificial Grupo 05