(kahn-sort g)
(kahn-sort g l s)
Proposes a topological sort for directed graph g using Kahn's algorithm, where g is a map of nodes to sets of nodes. If g is cyclic, returns nil.
Proposes a topological sort for directed graph g using Kahn's algorithm, where g is a map of nodes to sets of nodes. If g is cyclic, returns nil.
(kahn-sort-throws g)
(kahn-sort-throws g l s)
Proposes a topological sort for directed graph g using Kahn's algorithm, where g is a map of nodes to sets of nodes. If g is cyclic, throws an exception with the remaining (cyclic) graph.
Proposes a topological sort for directed graph g using Kahn's algorithm, where g is a map of nodes to sets of nodes. If g is cyclic, throws an exception with the remaining (cyclic) graph.
(no-incoming g)
Returns the set of nodes in graph g for which there are no incoming edges, where g is a map of nodes to sets of nodes.
Returns the set of nodes in graph g for which there are no incoming edges, where g is a map of nodes to sets of nodes.
(no-outgoing g)
Returns the set of nodes in graph g for which there are no outgoing edges, where g is a map of nodes to sets of nodes.
Returns the set of nodes in graph g for which there are no outgoing edges, where g is a map of nodes to sets of nodes.
(normalize g)
Returns g with empty outgoing edges added for nodes with incoming edges only. Example: {:a #{:b}} => {:a #{:b}, :b #{}}
Returns g with empty outgoing edges added for nodes with incoming edges only. Example: {:a #{:b}} => {:a #{:b}, :b #{}}
(take-1 s)
Returns the pair [element, s'] where s' is set s with element removed.
Returns the pair [element, s'] where s' is set s with element removed.
(without s x)
Returns set s with x removed.
Returns set s with x removed.
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close