Advertisement
JF_Jaramillo

Comparacion Arboles

Sep 12th, 2020
1,991
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 1.33 KB | None | 0 0
  1. (define-struct arbol (valor izq der))
  2.  
  3. (define arbolprueba1 (make-arbol 20
  4.             (make-arbol 10
  5.                   empty
  6.                   (make-arbol 7 empty empty) )
  7.             (make-arbol 24
  8.                         (make-arbol 22 empty empty)
  9.                         (make-arbol 30 empty empty) )
  10.             ))
  11.  
  12. (define arbolprueba2 (make-arbol 20
  13.             (make-arbol 10
  14.                   empty
  15.                   (make-arbol 7 empty empty) )
  16.             (make-arbol 24
  17.                         (make-arbol 22 empty empty)
  18.                         (make-arbol 30 empty empty) )
  19.             ))
  20.  
  21. (define (comparar-arboles arbol1 arbol2)
  22.   (comparar-listas (recorrido-inorden arbol1) (recorrido-inorden arbol2) )
  23.   )
  24.  
  25. (define (recorrido-inorden arb)
  26.   (cond
  27.     [(null? arb) '()]
  28.     [else
  29.       (append
  30.        (recorrido-inorden  (arbol-izq arb))
  31.        (cons (arbol-valor arb) empty)
  32.        (recorrido-inorden  (arbol-der arb)))
  33.      ]
  34.     ))
  35.  
  36. (define (comparar-listas lista1 lista2)
  37.   (cond
  38.     [ (or (and (empty? lista1) (not (empty? lista2)) ) (and (not (empty? lista1)) (empty? lista2) ) ) #F]
  39.     [ (and (empty? lista1) (empty? lista2) ) #T]
  40.     [ (equal? (first lista1) (first lista2) ) (comparar-listas (rest lista1) (rest lista2) )]
  41.     [else #F]
  42.     )
  43.   )
  44.  
  45. (comparar-arboles arbolprueba1 arbolprueba2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement