【发布时间】:2013-11-15 04:10:04
【问题描述】:
如何计算一棵树有多少个节点?
;;; A Binary is one of:
;;; - Number
;;; - (make-node BT BT)
(define-struct node (left right))
(define tree1 (make-node (make-node 10 9)
(make-node 3
(make-node 1 5))))
(define (how-many? nd)
(cond
[(number? nd)....]
[(node? n)
(..... (how-many? (node-left nd))
(how-many? (node-right nd)))]))
所以对于 tree1 我应该得到
(check-expect (how-many? tree1) 5)
我认为我的模板是正确的。如果是数字,则应返回1。但如果是node,我应该在虚线中添加什么类型的函数?
【问题讨论】: