Graph

public struct Graph<Node> : UnweightedGraphProtocol, UndirectedGraphProtocol where Node : Hashable
extension Graph: Equatable
extension Graph: Hashable

Unweighted, undirected graph.

Instance Properties

  • All of the nodes contained herein.

    A Node is any Hashable-conforming value.

    Declaration

    Swift

    public var nodes: Set<Node>
  • All of the edges contained herein.

    An Edge is an UnorderedPair of Node values.

    Declaration

    Swift

    public var edges: Set<Edge>

Type Aliases

  • The type of edges which connect nodes.

    Declaration

    Swift

    public typealias Edge = UnorderedPair<Node>

Initializers

  • Creates a Graph with the given set of nodes, with no edges between the nodes.

    Declaration

    Swift

    @inlinable
    public init(_ nodes: Set<Node> = [])
  • Creates a Graph with the given set of nodes and the given set of edges connecting the nodes.

    Declaration

    Swift

    @inlinable
    public init(_ nodes: Set<Node> = [], _ edges: Set<Edge> = [])
  • Creates a Graph with enough memory to store the given minimumNodesCapacity and minimumEdgesCapacity.

    Declaration

    Swift

    public init(minimumNodesCapacity: Int, minimumEdgesCapacity: Int)