Question: using dr racket programming how can you redesign the find-path program as a single function. ; Node Node Graph -[Maybe Path] ; finds a path
using dr racket programming how can you redesign the find-path program as a single function. 
; Node Node Graph -[Maybe Path] ; finds a path from origination to destination in G ; if there is no path, the function produces #false (define (find-path origination destination G) cond [(symbol-? origination destination) (list destination)] [else (local ((define next (neighbors origination G)) (define candidate (find-path/list next destination G))) cond [(boolean? candidate) #false] [else (cons origination candidate)]))])) ; [List-of Node] Node Graph -[Maybe Path] ; finds a path from some node on lo-0s to D ; if there is no path, the function produces #false (define (find-path/list lo-Os D G) cond [(empty? 0_0s ) #false] else (local ((define candidate (find-path (first lo-0s) D G))) cond (boolean? candidate) (find-path/list (rest else candidate]))])) lo-Os) D G)] Figure 169: Finding a path in a graph ; Node Node Graph -[Maybe Path] ; finds a path from origination to destination in G ; if there is no path, the function produces #false (define (find-path origination destination G) cond [(symbol-? origination destination) (list destination)] [else (local ((define next (neighbors origination G)) (define candidate (find-path/list next destination G))) cond [(boolean? candidate) #false] [else (cons origination candidate)]))])) ; [List-of Node] Node Graph -[Maybe Path] ; finds a path from some node on lo-0s to D ; if there is no path, the function produces #false (define (find-path/list lo-Os D G) cond [(empty? 0_0s ) #false] else (local ((define candidate (find-path (first lo-0s) D G))) cond (boolean? candidate) (find-path/list (rest else candidate]))])) lo-Os) D G)] Figure 169: Finding a path in a graph
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
