【发布时间】:2016-07-26 22:56:18
【问题描述】:
我正在解决简单方案计划中的问题 18.3(页面底部的问题): https://people.eecs.berkeley.edu/~bh/ssch18/trees.html 问题是编写深度,一个返回树最长分支中节点数的过程。到目前为止,我已经写了:
(define (depth-count node)
(cond ((null? (children node))
1)
(else
(reduce + (depth-count (children node)))))
所以我将基本情况作为“叶”节点 - 没有子节点。我想为每个父节点 + 1 到一个叶子,然后比较相同深度的节点并从每个级别获取具有最大值的节点。 我期待编写更多的 cond 子句,这些子句将选择一个分支(最大节点)而不是另一个。 我希望递归案例是一个我可以计算的列表......这就是我认为我被卡住的地方。 我会以正确的方式解决这个问题吗?任何建议都非常感谢。
【问题讨论】: