[−][src]Struct algorithms_edu::algo::graph::WeightedAdjacencyMatrix
Dense graphs, are sometimes more efficient to be represented as adjacency matrices.
A WeightedAdjacencyMatrix
is based on a Matrix of size n * n
where n is the number of nodes (vertices) in
the graph.
For a WeightedAdjacencyMatrix
g
, g[i][j]
is the weight of the edge pointing from node i
to node j
. By convention, for two nodes i
and j
that are not connected, g[i][j] = INFINITY
,
and each node by default has a weight of 0
to point to itself (i.e. g[i][i]
= 0).
Implementations
impl WeightedAdjacencyMatrix
[src]
pub fn with_size(n: usize) -> Self
[src]
pub fn node_count(&self) -> usize
[src]
Number of nodes in the graph.
pub fn from_adjacency_list(inp: &WeightedAdjacencyList) -> Self
[src]
Converts a WeightedAdjacencyList
to WeightedAdjacencyMatrix
pub fn from_inner(matrix: Vec<Vec<f64>>) -> Self
[src]
Builds a WeightedAdjacencyMatrix
from its underlying representation.
Trait Implementations
impl Display for WeightedAdjacencyMatrix
[src]
Pretty-prints a small graph represented by an adjacency matrix
impl From<Vec<Vec<f64, Global>, Global>> for WeightedAdjacencyMatrix
[src]
For convinience
impl From<WeightedAdjacencyList> for WeightedAdjacencyMatrix
[src]
For convinience
pub fn from(inp: WeightedAdjacencyList) -> Self
[src]
impl Index<usize> for WeightedAdjacencyMatrix
[src]
This allows us to access the weight of edge i -> j
in graph g
by g[i][j]
rather than g.inner[i][j]
Auto Trait Implementations
impl RefUnwindSafe for WeightedAdjacencyMatrix
[src]
impl Send for WeightedAdjacencyMatrix
[src]
impl Sync for WeightedAdjacencyMatrix
[src]
impl Unpin for WeightedAdjacencyMatrix
[src]
impl UnwindSafe for WeightedAdjacencyMatrix
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,