如何在方案中找到树的高度?

时间:2019-04-11 21:28:59

标签: scheme racket

定义计划过程(tree-height t),该过程计算非空的高度 树t

(define (height tree)
  (if (null? tree)
      0
      (max (height (caddr tree)))))

'(5(1(8)(2(1)(9)))(10)(4(9)))

应返回4

1 个答案:

答案 0 :(得分:2)

您是对的,您忘了在答案中加1,但是您也忘了取cadrcaddr的最大值,您只是发现了{{1 }}。您可能有一棵树,其左分支比右分支大,但是您的程序将返回右分支的高度和错误答案。这段代码应该可以解决您的问题。

caddr