2017-04-16 19 views
0

的代碼的二進制搜索樹BST:在模塊未結合的標識符:BST錯誤

調用函數(searchBST BST 5)在下面的錯誤率的實現:

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)