数値とバイナリ ツリーを入力し、数値と同じ深さのバイナリ ツリーのデータ式を出力するスキーム関数を評価する必要があります。たとえば、ツリーのルートは 1 で、サブツリーのルートは 2 などです。
これは私がこれまでに得たものであり、エラーメッセージが表示され続けていますError in null?: expected a list; got '1'.
(これは、以前に尋ねた問題を解決する別の方法です) スキームプログラミングに慣れていないので、既に使用した用語を使用してこれを説明していただけますか.
ありがとうございました
(define fetch-exp (λ (n bt)
(cond [(not (deep-enough? n bt)) ▽#f]
[(one? n) (root bt)]
[(deep-enough? n (left-tree bt))
(fetch-exp (left-tree bt) (sub1 n))]
[(deep-enough? n (right-tree bt))
(fetch-exp (right-tree bt) sub1 n)]
[else ▽#f])))
(define deep-enough?
(λ (n bt)
(cond [(> (tree-depth bt) n) ▽#t]
[(equal? (tree-depth bt) n) ▽#t]
[else ▽#f])))