class CGL::WeightedLabeledGraph(V, W, L)

Defined in:

cgl/graph.cr

Constructors

Instance methods inherited from class CGL::AdjacencyGraph(V, W, L)

add_edge(u : V, v : V, weight : W = self.default_weight, label : L | Nil = self.default_label) add_edge, degree_of(v : V) : Int32 degree_of, remove_edge(u : V, v : V, &) remove_edge, remove_vertex(v : V) remove_vertex

Constructor methods inherited from class CGL::AdjacencyGraph(V, W, L)

new(vertices : Enumerable(V) | Nil = nil, edges : Enumerable(Tuple(V, V)) | Nil = nil, weights : Enumerable(W) | Nil = nil, labels : Enumerable(L | Nil) | Nil = nil, *, default_weight : W | Nil = nil, &block : -> L | Nil)
new(vertices : Enumerable(V) | Nil = nil, edges : Enumerable(Tuple(V, V)) | Nil = nil, weights : Enumerable(W) | Nil = nil, labels : Enumerable(L | Nil) | Nil = nil, *, default_weight : W | Nil = nil, default_label : L | Nil = nil)
new(edges : Enumerable(AnyEdge(V)), *, default_weight : W | Nil = nil, &block : -> L | Nil)
new(edges : Enumerable(AnyEdge(V)), *, default_weight : W | Nil = nil, default_label : L | Nil = nil)
new

Instance methods inherited from module CGL::AdjacencyHash(V, W, L)

add_edge(edge : AnyEdge(V)) add_edge, add_vertex(v : V) add_vertex, clear clear, each_adjacent(u : V, & : V -> )
each_adjacent(u : V) : Iterator(V)
each_adjacent
, each_vertex(& : V -> )
each_vertex : Iterator(V)
each_vertex
, has_edge?(u : V, v : V, weight : W, label : L | Nil) : Bool
has_edge?(u : V, v : V, weight, label) : Bool
has_edge?(u : V, v : V) : Bool
has_edge?
, has_vertex?(v : V) : Bool has_vertex?, label_block : -> L | Nil label_block, label_of(u : V, v : V) : L | Nil label_of, label_of?(u : V, v : V) : L | Nil label_of?, labeled? : Bool labeled?, order : Int32 order, size : Int32 size, vertices vertices, weight_of(u : V, v : V) : W weight_of, weight_of?(u : V, v : V) : W | Nil weight_of?, weighted? : Bool weighted?

Constructor methods inherited from module CGL::AdjacencyHash(V, W, L)

new(vertices : Enumerable(V) | Nil = nil, edges : Enumerable(Tuple(V, V)) | Nil = nil, weights : Enumerable(W) | Nil = nil, labels : Enumerable(L | Nil) | Nil = nil, *, default_weight : W | Nil = nil, &block : -> L | Nil)
new(vertices : Enumerable(V) | Nil = nil, edges : Enumerable(Tuple(V, V)) | Nil = nil, weights : Enumerable(W) | Nil = nil, labels : Enumerable(L | Nil) | Nil = nil, *, default_weight : W | Nil = nil, default_label : L | Nil = nil)
new(edges : Enumerable(AnyEdge(V)), *, default_weight : W | Nil = nil, &block : -> L | Nil)
new(edges : Enumerable(AnyEdge(V)), *, default_weight : W | Nil = nil, default_label : L | Nil = nil)
new

Instance methods inherited from class CGL::AbstractGraph(V)

connected? : Bool connected?, count_connected_components : Int32 count_connected_components, density : Float64 density, directed? : Bool directed?, each_connected_component(&)
each_connected_component : Iterator(Array(V))
each_connected_component
, each_edge(& : AnyEdge(V) -> ) each_edge, each_edge_from(u : V, & : AnyEdge(V) -> ) each_edge_from, in_degree_of(v : V) : Int32 in_degree_of, out_degree_of(v : V) : Int32 out_degree_of

Instance methods inherited from class CGL::AnyGraph(V)

==(other : self)
==(other)
==
, accept(visitor : Visitor(V)) accept, add_edge(u : V, v : V)
add_edge(edge : AnyEdge(V))
add_edge
, add_vertex(v : V) add_vertex, breadth_first_search(from vertex : V) : Iterator(V)
breadth_first_search(from vertex : V, &)
breadth_first_search
, clear clear, clone clone, count_simple_paths(source : V, target : V) count_simple_paths, degree_of(v : V) : Int32 degree_of, density : Float64 density, depth_first_search(from vertex : V) : Iterator(V)
depth_first_search(from vertex : V, &)
depth_first_search(vertex : V, *, colors : Hash(V, Color), &)
depth_first_search(&)
depth_first_search : Iterator(V)
depth_first_search
, directed? : Bool directed?, dup dup, each_adjacent(u : V, & : V -> )
each_adjacent(u : V) : Iterator(V)
each_adjacent
, each_edge(& : AnyEdge(V) -> )
each_edge : Iterator(AnyEdge(V))
each_edge
, each_edge_from(u : V, & : AnyEdge(V) -> ) each_edge_from, each_vertex(& : V -> )
each_vertex : Iterator(V)
each_vertex
, edge(u : V, v : V, &)
edge(u : V, v : V)
edge
, edge?(u : V, v : V) edge?, edges : Array(AnyEdge(V)) edges, empty? : Bool empty?, has_edge?(u : V, v : V, weight, label) : Bool
has_edge?(u : V, v : V) : Bool
has_edge?(edge : Labelable) : Bool
has_edge?(edge : Weightable) : Bool
has_edge?(edge : AnyEdge(V)) : Bool
has_edge?
, has_vertex?(v : V) : Bool has_vertex?, hash(hasher) hash, in_degree_of(v : V) : Int32 in_degree_of, label_of(u : V, v : V) label_of, label_of?(u : V, v : V) label_of?, labeled? : Bool labeled?, order : Int32 order, out_degree_of(v : V) : Int32 out_degree_of, remove_edge(u : V, v : V) remove_edge, remove_vertex(v : V) remove_vertex, shortest_path(source : V, target : V) shortest_path, shortest_path_dijkstra(source : V, target : V) shortest_path_dijkstra, shortest_path_unweighted(source : V, target : V) shortest_path_unweighted, size : Int32 size, subgraph(edges : Enumerable(AnyEdge(V)), *, clone : Bool = false) : AnyGraph(V)
subgraph(vertices : Enumerable(V), *, clone : Bool = false) : AnyGraph(V)
subgraph
, to_a : Array(AnyEdge(V)) to_a, to_dot(path : String)
to_dot(io : IO)
to_dot
, weight_of(u : V, v : V) weight_of, weight_of?(u : V, v : V) weight_of?, weighted? : Bool weighted?

Constructor Detail

def self.new(vertices : Enumerable(V) | Nil = nil, edges : Enumerable(Tuple(V, V)) | Nil = nil, weights : Enumerable(W) | Nil = nil, labels : Enumerable(L | Nil) | Nil = nil, *, default_weight : W | Nil = nil, &block : -> L | Nil) #

[View source]
def self.new(vertices : Enumerable(V) | Nil = nil, edges : Enumerable(Tuple(V, V)) | Nil = nil, weights : Enumerable(W) | Nil = nil, labels : Enumerable(L | Nil) | Nil = nil, *, default_weight : W | Nil = nil, default_label : L | Nil = nil) #

[View source]
def self.new(edges : Enumerable(AnyEdge(V)), *, default_weight : W | Nil = nil, &block : -> L | Nil) #

[View source]
def self.new(edges : Enumerable(AnyEdge(V)), *, default_weight : W | Nil = nil, default_label : L | Nil = nil) #

[View source]