私は、ツリーを取得し、ランダムにブランチ(左または右)を選択して、それらの値をリストに返すプログラムを作成しています。何らかの理由で機能していません。何か助けはありますか?
例:
~(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))) '())))))