Advertisement
Guest User

lisp

a guest
Nov 24th, 2017
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. (defun has-child (tree) ;testet ob ein Kindknoten existiert
  3.     (and (not (null tree)) (listp tree)))
  4.  
  5. (defun preorder (tree);gibt den Baum in preorder aus
  6.     (cond ((listp tree)
  7.         (print (car tree))
  8.         (if (has-child (cadr tree))(preorder (cadr tree)))
  9.         (if (has-child (caddr tree))(preorder (caddr tree))))
  10.         (T (print '(NOT A TREE)))))
  11.  
  12. (defun inorder (tree) ;gibt den Baum in inorder aus
  13.     (cond ((listp tree)
  14.         (if (has-child (cadr tree))(inorder (cadr tree)))
  15.         (print (car tree))
  16.         (if (has-child (caddr tree))(inorder (caddr tree))))
  17.         (T (print '(NOT A TREE)))))
  18.  
  19. (defun postorder (tree) ;gibt den Baum in postorder aus
  20.     (cond ((listp tree)
  21.         (if (has-child (cadr tree))(postorder (cadr tree)))
  22.         (if (has-child (caddr tree))(postorder (caddr tree)))
  23.         (print (car tree)))
  24.         (T (print '(NOT A TREE)))))
  25.  
  26. Eine Liste, die einen Binären Baum darstellt, beginnt mit dem Wert des Elternknoten gefolgt von zwei inneren Listen, die zuerst den linken und dann den rechten Kindknoten darstellen. Kindknoten sind nach dem gleichen Prinzip aufgebaut. Beispiel: (4 (2 (1) (3) ) (6 (5) (7) ) )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement