Определить функцию для вычисления глубины бинарного дерева - Lisp (229221)
Формулировка задачи:
Дано S-выражение, представляющее дерево вида «(РебенокЛевый Родитель РебенокПравый)». Определить функцию для вычисления глубины этого дерева.
Например: если дано "(((nil 5 nil) 2 nil) 1 ((nil 7 nil) 3 ((nil 9 nil) 5 (nil 8 nil))))", ответом будет "4".
Решение задачи: «Определить функцию для вычисления глубины бинарного дерева»
textual
Листинг программы
- (defun depth-tree (tree)
- (cond ((null tree) 0)
- (t (max (+ 1 (depth-tree (car tree))) (+ 1 (depth-tree (caddr tree)))))))
- ==> DEPTH-TREE
- (depth-tree '(((nil 5 nil) 2 nil) 1 ((nil 7 nil) 3 ((nil 9 nil) 5 (nil 8 nil)))))
- ==> 4
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д