DictionaryPredecessorRecorder
public struct DictionaryPredecessorRecorder<Graph: IncidenceGraph>: DefaultInitializable
where Graph.VertexId: Hashable
A dictionary that records the parents of every discovered vertex in a graph search algorithm.
Example:
var g = CompleteInfiniteGrid()
let preds = DictionaryPredecessorRecorder(for: g)
g.breadthFirstSearch(startingAt: .origin) { e, g in preds.record(e, graph: g) }
-
A dictionary of the predecessor for a vertex.
Declaration
Swift
public private(set) var predecessors: [Graph.VertexId : Graph.VertexId] -
Creates an empty predecessor recorder.
Declaration
Swift
public init() -
Creates an empty predecessor recorder (uses
graphfor type inference).Declaration
Swift
public init(for graph: Graph) -
Undocumented
Declaration
Swift
public subscript(vertex: Graph.VertexId) -> Graph.VertexId? { get } -
Captures predecessor information during depth first search.
Declaration
Swift
public mutating func record(_ event: DFSEvent<Graph>, graph: Graph) -
Captures predecessor information during Dijkstra’s search.
Declaration
Swift
public mutating func record(_ event: DijkstraSearchEvent<Graph>, graph: Graph) -
Captures predecessor information during breadth first search.
Declaration
Swift
public mutating func record(_ event: BFSEvent<Graph>, graph: Graph) -
Returns the sequence of vertices on the recorded path to
vertex.Declaration
Swift
public func path(to vertex: Graph.VertexId) -> ReversedCollection<[Graph.VertexId]>?
View on GitHub
DictionaryPredecessorRecorder Structure Reference