Add min-st-prim and max-st-prim.
This commit is contained in:
parent
25671ff201
commit
2b7723dbad
1 changed files with 12 additions and 2 deletions
14
graph.rkt
14
graph.rkt
|
@ -37,7 +37,7 @@
|
|||
dfs dfs/generalized
|
||||
dag? tsort cc cc/bfs scc
|
||||
|
||||
min-st-kruskal max-st-kruskal
|
||||
min-st-kruskal max-st-kruskal min-st-prim max-st-prim
|
||||
|
||||
graphviz)
|
||||
|
||||
|
@ -189,6 +189,10 @@
|
|||
(g:min-st-kruskal (gg g)))
|
||||
(define (max-st-kruskal g)
|
||||
(g:max-st-kruskal (gg g)))
|
||||
(define (min-st-prim g source)
|
||||
(g:min-st-prim (gg g) source))
|
||||
(define (max-st-prim g source)
|
||||
(g:max-st-prim (gg g) source))
|
||||
|
||||
;; 10 Graphviz
|
||||
(define (graphviz g #:output [output #f] #:colors [colors #f])
|
||||
|
@ -278,6 +282,8 @@
|
|||
;; 5 Spanning Trees
|
||||
[min-st-kruskal (-> Graph (Listof (List Any Any)))]
|
||||
[max-st-kruskal (-> Graph (Listof (List Any Any)))]
|
||||
[min-st-prim (-> Graph Any (Listof (List Any Any)))]
|
||||
[max-st-prim (-> Graph Any (Listof (List Any Any)))]
|
||||
|
||||
;; 10 Graphviz
|
||||
[graphviz (->* (Graph)
|
||||
|
@ -396,7 +402,11 @@
|
|||
(check-equal? (min-st-kruskal g0)
|
||||
'((a e) (c d) (c b) (a b)))
|
||||
(check-equal? (max-st-kruskal g0)
|
||||
'((c b) (c a) (c d) (a e))))
|
||||
'((c b) (c a) (c d) (a e)))
|
||||
(check-equal? (min-st-prim g0 'e)
|
||||
'((b c) (e a) (c d) (a b)))
|
||||
(check-equal? (max-st-prim g0 'e)
|
||||
'((a c) (e a) (c d) (c b))))
|
||||
|
||||
(test-case "10 Graphviz"
|
||||
(define g (directed-graph '((a b) (b c))))
|
||||
|
|
Loading…
Reference in a new issue