Add the BFS-related functions.
This commit is contained in:
parent
baf423f6e8
commit
324b47cb61
24
manual.scrbl
24
manual.scrbl
|
@ -2,10 +2,11 @@
|
||||||
|
|
||||||
@(require (for-label (only-in typed/racket
|
@(require (for-label (only-in typed/racket
|
||||||
require/typed require/typed/provide
|
require/typed require/typed/provide
|
||||||
Any Boolean Void Sequenceof Listof List U False
|
Any Boolean Void Sequenceof Listof List U False Number Values
|
||||||
Mutable-HashTable Immutable-HashTable))
|
Mutable-HashTable Immutable-HashTable))
|
||||||
(for-label (only-in math/matrix Matrix))
|
(for-label (only-in math/matrix Matrix))
|
||||||
(for-label (only-in graph (matrix-graph? g:matrix-graph?)))
|
(for-label (only-in graph (matrix-graph? g:matrix-graph?)))
|
||||||
|
(for-label (only-in data/gen-queue/fifo mk-empty-fifo))
|
||||||
(for-label typed/graph))
|
(for-label typed/graph))
|
||||||
|
|
||||||
@title{Typed Interface for the Generic Graph Library}
|
@title{Typed Interface for the Generic Graph Library}
|
||||||
|
@ -121,6 +122,27 @@ matrix graphs.
|
||||||
|
|
||||||
Graph properties are not supported.
|
Graph properties are not supported.
|
||||||
|
|
||||||
|
@subsection{Basic Graph Functions}
|
||||||
|
|
||||||
|
@defproc[(bfs [g Graph] [source Any]) (Values (Mutable-HashTable Any Number)
|
||||||
|
(Mutable-HashTable Any Any))]{}
|
||||||
|
@defproc[(bfs/generalized [g Graph]
|
||||||
|
[source Any]
|
||||||
|
[#:init-queue Q Any (mk-empty-fifo)]
|
||||||
|
[#:break break? (-> Graph Any Any Any Boolean)
|
||||||
|
(λ (G src from to) #f)]
|
||||||
|
[#:init init (U (-> Graph Any Void) Void) void]
|
||||||
|
[#:visit? custom-visit?-fn (U (-> Graph Any Any Any Boolean) False)
|
||||||
|
(λ (G src from to) #f)]
|
||||||
|
[#:discover discover (-> Graph Any Any Any Any Any)
|
||||||
|
(λ (G s u v acc) acc)]
|
||||||
|
[#:visit visit (-> Graph Any Any Any Any)
|
||||||
|
(λ (G s v acc) acc)]
|
||||||
|
[#:return finish (-> Graph Any Any Any)
|
||||||
|
(λ (G s acc) acc)]
|
||||||
|
) Any]{}
|
||||||
|
@defproc[(fewest-vertices-path [g Graph] [source Any] [target Any]) (U (Listof Any) False)]{}
|
||||||
|
|
||||||
@section{License}
|
@section{License}
|
||||||
|
|
||||||
Like the generic graph library, this library is licensed under the Apache
|
Like the generic graph library, this library is licensed under the Apache
|
||||||
|
|
Loading…
Reference in New Issue