2011-10-02 4 views
0

나는 정의 된 그래프를 취할 것입니다 계획 기능을 개발하기 위해 노력하고있어. 나는이 문제를 잘못된 방향으로 접근하고 있다고 믿는다; 여기가 내가 지금까지 무엇을했는지 있습니다 :계획, 목록 및 그래프 이론

(define (nodes n graph) 
     (cond ((null? n) '()) 
     (else 
     (cond ((eqv? n (first graph)) (length (first graph))) 
     (else (nodes n (rest graph))))))) 

없이 그것이 작동하지 않는 말을 (이 함수는 다음과 같이 호출 할 수 있습니다 : 이론적으로 2를 반환해야합니다 (노드 '미국 아 그라프)). 내가 올바른 방향으로 나아갈 수 있도록 조언을해주어야합니까?

답변

1

의이 라인을 살펴 보자 :

(cond ((eqv? n (first graph)) (length (first graph))) 

당신은 (eqv? n (first graph))(length (first graph))의 접경 노드로 모두 같은 (first graph) 노드 키를 치료됩니다 - 아마도이 더 잘 작동합니다 :

(cond ((eqv? n (first (first graph))) (length (second (first graph)))) 
+0

감사합니다 당신의 대답을 위해 대단히; 이제 내가 잘못하고있는 것을보고 문제가 해결되었습니다. –