From 80831c3b7cac1cc0eef068fd0ee14f6a1e55d02d Mon Sep 17 00:00:00 2001 From: Sergiu Ivanov Date: Sun, 7 Nov 2021 21:23:24 +0100 Subject: [PATCH] Add valid-coloring?. --- graph.rkt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/graph.rkt b/graph.rkt index bd42118..0e0a995 100644 --- a/graph.rkt +++ b/graph.rkt @@ -43,7 +43,7 @@ floyd-warshall transitive-closure johnson coloring coloring/greedy coloring/brelaz - order-smallest-last + order-smallest-last valid-coloring? graphviz) @@ -225,6 +225,8 @@ (g:coloring/brelaz (gg g))) (define (order-smallest-last g) (g:order-smallest-last (gg g))) + (define (valid-coloring? g coloring) + (g:valid-coloring? (gg g) coloring)) ;; 10 Graphviz (define (graphviz g #:output [output #f] #:colors [colors #f]) @@ -341,6 +343,7 @@ (Mutable-HashTable Any Number)))] [coloring/brelaz (-> Graph (Mutable-HashTable Any Number))] [order-smallest-last (-> Graph (Listof Any))] + [valid-coloring? (-> Graph (HashTable Any Number) Boolean)] ;; 10 Graphviz [graphviz (->* (Graph) @@ -558,7 +561,9 @@ (check-equal? (hash->ordered-list (coloring/brelaz g0)) '((a . 0) (b . 1) (c . 0) (d . 1))) - (check-equal? (order-smallest-last g0) '(c d a b))) + (check-equal? (order-smallest-last g0) '(c d a b)) + + (check-true (valid-coloring? g0 #hash((a . 0) (b . 1) (c . 0) (d . 2))))) (test-case "10 Graphviz" (define g (directed-graph '((a b) (b c))))