(define-struct school (name students))
;; An SchoolChart is a (make-school Str (listof SchoolChart))
;; names are unique
を検索すると、これが一般的なツリーです私は学校のチャートを持つネストされたリストのスキーム/ラケット内
(define s-chart (make-school "Tom" (list
(make-school "James" empty)
(make-school "Claire"
(make-school "David" empty)
(make-school "Travis" empty))
(make-school "Timmy" empty))))
言うどのように私は行くのです
(define (find-name name school)) ;;produces true if found/false if not.
私は関数を定義すると言います再帰?この特殊なケースは問題ありませんが、各子供は無限の子供を持つことができますか?ちょうどヒントが必要です
あなたは他に、現在のノードがあなたの答えであるかどうかをチェック検索する場合再帰を使用している各子がノードを残しておらず、何も見つからないときにfalseを返すか、失敗を示す何かをチェックします。 PS:無限の子供の再帰のために役立つことはありませんので、それはできません。サイクルを意味するなら、訪問先のノードを知るための構造が必要です。 – Sylwester