Определить функцию для вычисления глубины бинарного дерева - 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

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 3.875 из 5
Похожие ответы