diff --git a/graph.rkt b/graph.rkt index 348ad9e..b0b1198 100644 --- a/graph.rkt +++ b/graph.rkt @@ -35,7 +35,7 @@ bfs bfs/generalized fewest-vertices-path dfs dfs/generalized - dag? tsort + dag? tsort cc graphviz) @@ -175,6 +175,8 @@ (g:dag? (gg g))) (define (tsort g) (g:tsort (gg g))) + (define (cc g) + (g:cc (gg g))) ;; 10 Graphviz (define (graphviz g #:output [output #f] #:colors [colors #f]) @@ -257,6 +259,7 @@ Any)] [dag? (-> Graph Boolean)] [tsort (-> Graph (Listof Any))] + [cc (-> Graph (Listof (Listof Any)))] ;; 10 Graphviz [graphviz (->* (Graph) @@ -360,7 +363,9 @@ (check-true (dag? (directed-graph '((a b) (b c))))) (check-false (dag? (directed-graph '((a b) (b a))))) (check-equal? (tsort (directed-graph '((a b) (b c) (a d) (d b)))) - '(a d b c))) + '(a d b c)) + (check-equal? (cc (undirected-graph '((a b) (b c) (d e)))) + '((e d) (a b c)))) (test-case "10 Graphviz" (define g (directed-graph '((a b) (b c))))