숫자와 이진 트리를 입력하고 숫자와 같은 깊이의 이진 트리에서 데이터 식을 출력하는 구성표 함수를 평가해야합니다. 예를 들어 트리의 루트는 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])))