pub trait GetAdjacencyMatrix: GraphBase {
    type AdjMatrix;

    // Required methods
    fn adjacency_matrix(&self) -> Self::AdjMatrix;
    fn is_adjacent(
&self,
matrix: &Self::AdjMatrix,
a: Self::NodeId,
b: Self::NodeId
) -> bool; }
Expand description

Create or access the adjacency matrix of a graph.

The implementor can either create an adjacency matrix, or it can return a placeholder if it has the needed representation internally.

Required Associated Types§

source

type AdjMatrix

The associated adjacency matrix type

Required Methods§

source

fn adjacency_matrix(&self) -> Self::AdjMatrix

Create the adjacency matrix

source

fn is_adjacent(
&self,
matrix: &Self::AdjMatrix,
a: Self::NodeId,
b: Self::NodeId
) -> bool

Return true if there is an edge from a to b, false otherwise.

Computes in O(1) time.

Implementations on Foreign Types§

source§

impl<'a, G> GetAdjacencyMatrix for &'a Gwhere
G: GetAdjacencyMatrix,

§

type AdjMatrix = <G as GetAdjacencyMatrix>::AdjMatrix

source§

fn adjacency_matrix(&self) -> Self::AdjMatrix

source§

fn is_adjacent(
&self,
matrix: &Self::AdjMatrix,
a: Self::NodeId,
b: Self::NodeId
) -> bool

Implementors§

source§

impl<'a, G> GetAdjacencyMatrix for Frozen<'a, G>where
G: GetAdjacencyMatrix,

source§

impl<'a, N, E, Ty, Ix> GetAdjacencyMatrix for &'a Csr<N, E, Ty, Ix>where
Ix: IndexType,
Ty: EdgeType,

The adjacency matrix for Csr is a bitmap that’s computed by .adjacency_matrix().

source§

impl<E, Ix> GetAdjacencyMatrix for List<E, Ix>where
Ix: IndexType,

The adjacency matrix for List is a bitmap that’s computed by .adjacency_matrix().

source§

impl<G> GetAdjacencyMatrix for Reversed<G>where
G: GetAdjacencyMatrix,

source§

impl<N, E, Ty> GetAdjacencyMatrix for GraphMap<N, E, Ty>where
N: Copy + Ord + Hash,
Ty: EdgeType,

The GraphMap keeps an adjacency matrix internally.

source§

impl<N, E, Ty, Ix> GetAdjacencyMatrix for Graph<N, E, Ty, Ix>where
Ty: EdgeType,
Ix: IndexType,

The adjacency matrix for Graph is a bitmap that’s computed by .adjacency_matrix().

source§

impl<N, E, Ty, Ix> GetAdjacencyMatrix for StableGraph<N, E, Ty, Ix>where
Ty: EdgeType,
Ix: IndexType,

The adjacency matrix for Graph is a bitmap that’s computed by .adjacency_matrix().

source§

impl<N, E, Ty: EdgeType, Null: Nullable<Wrapped = E>, Ix: IndexType> GetAdjacencyMatrix for MatrixGraph<N, E, Ty, Null, Ix>