我正在制作一个程序,它采用一棵树并随机选择一个分支(左或右)并在列表中返回这些值。由于某种原因,它不起作用。有什么帮助吗?
例子:
~(rand-walk (tree 1 (leaf 2) (leaf 3)))
(1 2)
这是我到目前为止所拥有的:
(define (rand-walk tr)
(if (empty-tree? tr) '()
(if (leaf? tr) tr
(if (equal? (random 1) 0)
(cons ((root-value tr)(root-value (left-subtree tr))) '())
(cons ((root-value tr)(root-value (right-subtree tr))) '())))))