class AtCoder::Tree(NodeInfo, EdgeInfo)

Defined in:

graph.cr

Constructors

Instance Method Summary

Instance methods inherited from class AtCoder::UndirectedGraph(NodeInfo, EdgeInfo)

add_edge(a, b, edge : EdgeInfo = 1_i64) add_edge, get_edge(a, b) get_edge, update_edge(a, b, edge : EdgeInfo = 1_i64) update_edge

Constructor methods inherited from class AtCoder::UndirectedGraph(NodeInfo, EdgeInfo)

new(nodes : Array(NodeInfo))
new(size : Int64, initial_node : NodeInfo = nil)
new

Instance methods inherited from class AtCoder::Graph(NodeInfo, EdgeInfo)

dfs(node : Int64, initial_value : T, &block : Int64, T, NamedTuple(node: Int64, node_info: NodeInfo | Nil, edge: Int64 | Nil, edge_info: EdgeInfo | Nil, parent: Int64), T -> -> ) forall T dfs, dijkstra(start_node) dijkstra, visited : Set(Int64) visited

Constructor methods inherited from class AtCoder::Graph(NodeInfo, EdgeInfo)

new(nodes : Array(NodeInfo))
new(size : Int64, initial_node : NodeInfo = nil)
new

Constructor Detail

def self.new(nodes : Array(NodeInfo)) #

[View source]
def self.new(size : Int64, initial_node : NodeInfo = nil) #

[View source]

Instance Method Detail

def diameter #

[View source]
def dist(a, b) #

[View source]
def lca(a, b) #

ameba:disable Metrics/CyclomaticComplexity


[View source]
def on_path?(a, b, c) #

Returns true if node c is on the path from a to b.


[View source]