`@ -32,6 +32,7 @@` ` weighted-graph? weighted-graph/undirected weighted-graph/directed` ` undirected-graph directed-graph` ` (rename-out [g:matrix-graph? matrix-graph?])` ` matrix->matrix-graph matrix-graph->graph` ``` ``` ` bfs bfs/generalized fewest-vertices-path` ` dfs dfs/generalized` `@ -120,6 +121,9 @@` ` (graph (g:directed-graph es ws)))` ``` ``` ` ;; 2.3 Matrix Graphs` ` (define (matrix->matrix-graph mtx)` ` (g:matrix->matrix-graph mtx))` ` (define matrix-graph->graph graph)` ``` ``` ` ;; 4 Basic Graph Functions` ` ;; 4.1 Breadth-first Search` `@ -240,6 +244,7 @@` ` (define (graphviz g #:output [output #f] #:colors [colors #f])` ` (g:graphviz (gg g) #:output output #:colors colors)))` ``` ``` `(require (only-in math/matrix Matrix))` ``` ``` `(require/typed/provide 'graph-wrapper` ` [#:opaque Graph graph?]` `@ -282,6 +287,8 @@` ` [directed-graph (->* ((Listof (List Any Any))) ((Listof Any)) Graph)]` ``` ``` ` ;; 2.3 Matrix Graphs` ` [matrix->matrix-graph (-> (Matrix Any) Matrix-Graph)]` ` [matrix-graph->graph (-> Matrix-Graph Graph)]` ``` ``` ` ;; 4 Basic Graph Functions` ` ;; 4.1 Breadth-first Search` `@ -370,6 +377,7 @@` ` ;; functions can be invoked without errors. The tests do not check` ` ;; whether the results make sense.` ` (require typed/rackunit)` ` (require (only-in math/matrix matrix))` ``` ``` ` ;; TODO: Submit an update to hash->list in Racket and then remove` ` ;; this function.` `@ -431,7 +439,10 @@` ` "digraph G {\n\tnode0 [label=\"c\"];\n\tnode1 [label=\"a\"];\n\tnode2 [label=\"b\"];\n\tsubgraph U {\n\t\tedge [dir=none];\n\t}\n\tsubgraph D {\n\t\tnode1 -> node2 [label=\"1\"];\n\t\tnode2 -> node0 [label=\"hello\"];\n\t}\n}\n")` ``` ``` ` ;; 2.3 Matrix Graphs` ` (check-false (matrix-graph? (directed-graph '((a b) (b c))))))` ` (check-false (matrix-graph? (directed-graph '((a b) (b c)))))` ` (define mg (matrix->matrix-graph (matrix [[1 2] [3 #f]])))` ` (check-true (matrix-graph? mg))` ` (check-true (has-vertex? (matrix-graph->graph mg) 1)))` ``` ``` ` (test-case "4 Basic Graph Functions"` ` ;; 4.1 Breadth-first Search`