2017-04-16 4 views
0

코드는 함수 (searchBST BST 5) 다음과 같은 오류의 수율을 호출 이진 검색 트리BST : 모듈의 언 바운드 식별자에 :</p> <p>BST :

의 구현입니다 BST 오류에 결합되지 않은 식별자 모듈 : BST

문제는 BST 매개 변수에 있습니다. 검색 호출에 두 개의 입력이 필요하고 두 입력을 모두 제공하지만 호출시 충돌이 발생하면 코드가 잘못 되었습니까?

원인이 오류는 무엇입니까? 고맙습니다. 코드에서

(define (searchBST BST key) 

(cond 
    [ 
     (null? BST) 
     (list key) 
     ] 
    [ 
     (equal? key (currentKey BST)) 

     (list key (currentValue BST)) 
     ] 

     [(< key (currentKey BST)) 

     (searchBST (leftChild BST) key) 
     ] 

     [(> key (currentKey BST)) 

     (searchBST (rightChild BST) key) 

     ] 
     ) 
    ) 


(searchBST BST 5) 

답변

1

, BST는이 정의 된 대부분의 절차에서 예상하는 매개 변수의 이름입니다. 실제 을 전달해야합니다. 아마도 이진 탐색 트리를 작성하고 선택적으로이를 변수에 바인딩하면됩니다. 예를 들어 간단한 트리를 만들고 BST이라는 변수에 바인드하려면 다음을 입력하십시오.

(define BST (build 5 'ok '() '())) 
(searchBST BST 5)