1
私はバイナリ検索ツリーへのポストオーダートラバーサルに取り組んでいます。これは私がこれまでスキームのポストオーダートラバース
(define (head tree)
(car tree))
(define (left tree)
(cadr tree))
(define (right tree)
(caddr tree))
(define (post-order node)
(if (null? node)
'()
(append (cons (post-order (left node))
(post-order (right node)))
(head node))))
私はこのコードはポストオーダートラバースのリストを返すことができ期待しなければならないものです。しかし、それはコンパイルされません。 エラーは、私が追記両論の構文をチェックして
mcar: contract violation
expected: mpair?
given: 5
です。そして、私はまだこの問題を理解することはできません。構文よりもロジックに何か問題があるようです。
あなたはそれを指摘し説明することができますか?ありがとうございました。
これは動作します。この明確な説明をありがとう:) –