- Benchmark against other Rust graph libraries.
- Benchmark trait implementations.
- Explain the pros and cons of each digraph representation.
- Implement
DfsDist::distances
. - Implement
size_hint
on iterators. - Improve doctest and add image to
DijkstraPred::shortest_path
. - Improve doctest and add image to
DistanceMatrix::is_connected
. - Improve doctest and add image to
DistanceMatrix::periphery
. - Improve doctest and add image to
PredecessorTree::search_by
. - Improve doctest and add image to
PredecessorTree::search
. - Mention the order of traversal in the
Bfs
documentation. - Mention the order of traversal in the
Dfs
documentation. - Mention the order of traversal in the
Dijkstra
documentation. - Replace the blanket implementations in
op
with custom implementations for the types inrepr
. In the documentation, describe examples of both the direct and the trait-based implementation of the traits. - Research: create iterator structs for eccentricities, periphery, and center.
- Return iterators instead of vectors.
- Test for
order > 0
inbellman_ford_moore
and other algorithms that take a digraph.
Changed
- Improve documentation formatting.
- Breaking: replace
impl<D> IndegreeSequence for D where D: Indegree + Vertices
withimpl IndegreeSequence for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
.
Changed
- Breaking: replace
impl<D> HasWalk for D where D: HasArc
withimpl HasWalk for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
.
Changed
- Breaking: replace
impl<D> HasEdge for D where D: HasArc
withimpl HasEdge for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
.
Added
- Add minimal documentation to benchmarks.
Changed
- Breaking: replace
impl<D> DegreeSequence for D where D: Arcs
withimpl DegreeSequence for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Move library and benchmark lint rules to
Cargo.toml
. - Standardize trait, module, and method descriptions.
- Use
is_some_and
where applicable.
Removed
- Remove "How to implement" documentation sections.
- Breaking: replace
impl<D> InNeighbors for D where D: Arcs
withimpl InNeighbors for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> IsRegular for D where D: Arcs
withimpl IsRegular for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Speed up
AdjacencyList::in_neighbors
. - Speed up
AdjacencyListWeighted::in_neighbors
. - Speed up
AdjacencyMap::in_neighbors
.
Changed
- Breaking: replace
impl<D> IsSemicomplete for D where D: HasEdge + Order
withimpl IsSemicomplete for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Speed up
AdjacencyList::is_semicomplete
. - Speed up
AdjacencyListWeighted::is_semicomplete
. - Speed up
AdjacencyMap::is_semicomplete
. - Speed up
AdjacencyMatrix::is_semicomplete
. - Speed up
EdgeList::is_semicomplete
.
Changed
- Clean up fixtures.
- Return early if
order == 1
ingen::*
implementations forAdjacencyList
.
Fixed
- Fix edge case in
BellmanFordMoore::distances
. - Fix
repr::adjacency_list_weighted::fixture::bang_jensen_99
.
Changed
- Speed up
BellmanFordMoore::distances
.
Added
- Add benchmark
algo_bellman_ford_moore_distances
.
Changed
- Breaking: replace
impl<D> IsTournament for D where D: HasEdge + Order
withimpl IsTournament for [AdjacencyList, AdjacencyListWeighted, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Speed up
AdjacencyList::is_tournament
. - Speed up
AdjacencyMatrix::is_tournament
.
Changed
- Speed up
AdjacencyList::is_sink
. - Speed up
AdjacencyListWeighted::is_sink
. - Speed up
AdjacencyMap::is_sink
. - Speed up
AdjacencyMatrix::is_sink
. - Speed up
AdjacencyMatrix::is_source
. - Speed up
EdgeList::is_sink
.
Fixed
- Fix
DistanceMatrix::periphery
return type.
Changed
- Breaking: return
&W
instead ofW
inDistanceMatrix::diameter
. - Breaking: return
impl Iterator<Item = &'_ W>
instead ofVec<W>
inDistanceMatrix::eccentricities
. - Breaking: return
impl Iterator<Item = W> + '_
instead ofVec<W>
inDistanceMatrix::periphery
.
Added
- Add benchmark
indegree_is_source
.
Changed
- Speed up
AdjacencyList::is_source
. - Speed up
AdjacencyListWeighted::is_source
. - Speed up
AdjacencyMap::is_source
. - Speed up
EdgeList::is_source
. - Speed up
AdjacencyList::is_complete
. - Speed up
AdjacencyListWeighted::is_complete
. - Speed up
AdjacencyMap::is_complete
. - Speed up
AdjacencyMatrix::is_complete
. - Speed up
EdgeList::is_complete
.
Added
- Add benchmark
algo_bellman_ford_moore_new
. - Add benchmark
op_is_complete
.
Changed
- Breaking: replace
impl<D> IsComplete for D where D: HasEdge + Order
withimpl IsComplete for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Speed up
AdjacencyList::is_complete
. - Speed up
AdjacencyMap::is_complete
. - Speed up
AdjacencyMatrix::is_complete
. - Speed up
BellmanFordMoore::new
. - Speed up
EdgeList::is_complete
.
Added
- Add benchmark
algo_bfs_iter
. - Add benchmark
algo_bfs_new
.
Changed
- Breaking:
Bfs::new
now takes anIterator<Item = usize>
assources
. - Breaking:
BfsDist::new
now takes anIterator<Item = usize>
assources
. - Breaking:
BfsPred::new
now takes anIterator<Item = usize>
assources
. - Breaking:
Dfs::new
now takes anIterator<Item = usize>
assources
. - Breaking:
DfsDist::new
now takes anIterator<Item = usize>
assources
. - Breaking:
DfsPred::new
now takes anIterator<Item = usize>
assources
. - Breaking:
Dijkstra::new
now takes anIterator<Item = usize>
assources
. - Breaking:
DijkstraDist::new
now takes anIterator<Item = usize>
assources
. - Breaking:
DijkstraPred::new
now takes anIterator<Item = usize>
assources
. - Embrace the
?
operator in functions that returnResult
. - Speed up
Bfs::new
. - Speed up
BfsDist::new
. - Speed up
BfsPred::new
. - Speed up
Dfs::new
. - Speed up
DfsDist::new
. - Speed up
DfsPred::new
. - Speed up
Dijkstra::new
. - Speed up
DijkstraDist::new
. - Speed up
DijkstraPred::new
.
Changed
- Set benchmark clippy rules to those used for the library.
- Speed up
AdjacencyListWeighted::converse
.
Added
- Add panic tests for generator implementations when
order == 0
. - Verify order in generator tests.
- Add benchmark
op_converse
.
Changed
- Breaking: panic if
order == 0
inAdjacencyMap::growing_network
. - Speed up
AdjacencyList::converse
. - Speed up
AdjacencyMap::converse
. - Speed up
EdgeList::converse
.
Changed
- Improve image alt texts.
Added
- Add benchmark
op_complement
.
Changed
- Breaking: replace
impl<D> Complement for D where D: AddArc + Empty + HasArc + Order
withimpl Complement for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Speed up
AdjacencyList::complement
. - Speed up
AdjacencyMap::complement
. - Speed up
EdgeList::complement
.
Changed
- Breaking: mark
Bfs::new
asmust_use
. - Breaking: mark
BfsDist::new
asmust_use
. - Breaking: mark
BfsPred::new
asmust_use
. - Breaking: mark
BfsPred::predecessors
asmust_use
. - Breaking: mark
Dfs::new
asmust_use
. - Breaking: mark
DfsDist::new
asmust_use
. - Breaking: mark
DfsPred::new
asmust_use
. - Breaking: mark
DfsPred::predecessors
asmust_use
. - Breaking: mark
Dijkstra::new
asmust_use
. - Breaking: mark
DijkstraDist::new
asmust_use
. - Breaking: mark
DijkstraPred::new
asmust_use
. - Breaking: mark
Johnson75::circuits
asmust_use
. - Breaking: mark
Johnson75::new
asmust_use
. - Breaking: mark
Sinks::sinks
asmust_use
. - Breaking: mark
Sources::sources
asmust_use
. - Breaking: mark
Tarjan::components
asmust_use
. - Breaking: mark
Tarjan::new
asmust_use
.
Added
- Add cases for all representations in the
gen/biclique
benchmark. - Add cases for all representations in the
gen/circuit
benchmark. - Add cases for all representations in the
gen/complete
benchmark. - Add cases for all representations in the
gen/cycle
benchmark. - Add cases for all representations in the
gen/erdos_renyi
benchmark. - Add cases for all representations in the
gen/path
benchmark. - Add cases for all representations in the
gen/random_tournament
benchmark. - Add cases for all representations in the
gen/star
benchmark. - Add benchmark
erdos_renyi
. - Add benchmark
growing_network
. - Add benchmark
wheel
.
Changed
- Breaking:
ErdosRenyi::erdos_renyi
panics ifp
is not in the range[0, 1]
. - Breaking: replace
impl<D> Complete for D where D: AddArc + Empty
withimpl Complete for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> Cycle for D where D: AddArc + Empty
withimpl ErdosRenyi for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> ErdosRenyi for D where D: AddArc + Empty
withimpl ErdosRenyi for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> GrowingNetwork for D where D: AddArc + Empty
withimpl GrowingNetwork for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> Path for D where D: AddArc + Empty
withimpl Path for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> RandomTournament for D where D: AddArc + Empty
withimpl RandomTournament for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> Star for D where D: AddArc + Empty
withimpl Star for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Breaking: replace
impl<D> Wheel for D where D: AddArc + Empty
withimpl Wheel for [AdjacencyList, AdjacencyMap, AdjacencyMatrix, EdgeList]
. - Speed up
AdjacencyList::biclique
. - Speed up
AdjacencyList::complete
. - Speed up
AdjacencyList::cycle
. - Speed up
AdjacencyList::erdos_renyi
. - Speed up
AdjacencyList::growing_network
. - Speed up
AdjacencyList::path
. - Speed up
AdjacencyList::random_tournament
. - Speed up
AdjacencyList::star
. - Speed up
AdjacencyList::wheel
. - Speed up
AdjacencyMap::biclique
. - Speed up
AdjacencyMap::complete
. - Speed up
AdjacencyMap::cycle
. - Speed up
AdjacencyMap::erdos_renyi
. - Speed up
AdjacencyMap::growing_network
. - Speed up
AdjacencyMap::path
. - Speed up
AdjacencyMap::random_tournament
. - Speed up
AdjacencyMap::star
. - Speed up
AdjacencyMap::wheel
. - Speed up
EdgeList::biclique
. - Speed up
EdgeList::circuit
. - Speed up
EdgeList::complete
. - Speed up
EdgeList::cycle
. - Speed up
EdgeList::erdos_renyi
. - Speed up
EdgeList::growing_network
. - Speed up
EdgeList::path
. - Speed up
EdgeList::random_tournament
. - Speed up
EdgeList::star
. - Speed up
EdgeList::wheel
.
Added
- Improve doctest and add image to
DijkstraPred::predecessors
. - Improve doctest and add image to
DijkstraPred::shortest_path
.
Added
- Implement
From<AdjacencyList> for EdgeList
. - Implement
From<AdjacencyMap> for AdjacencyListWeighted<isize>
. - Implement
From<AdjacencyMap> for AdjacencyListWeighted<usize>
. - Implement
From<AdjacencyMap> for AdjacencyList
. - Implement
From<AdjacencyMap> for AdjacencyMap
. - Implement
From<AdjacencyMap> for AdjacencyMatrix
. - Implement
From<AdjacencyMap> for EdgeList
. - Implement
From<AdjacencyMatrix> for AdjacencyList
. - Implement
From<AdjacencyMatrix> for AdjacencyMap
. - Implement
From<AdjacencyMatrix> for EdgeList
. - Implement
From<EdgeList> for AdjacencyListWeighted<isize>
. - Implement
From<EdgeList> for AdjacencyListWeighted<usize>
. - Implement
From<EdgeList> for AdjacencyMap
.
Changed
- Breaking:
From<I> for AdjacencyList
now panics if the order is zero.
Added
- Improve doctest and add image to
DijkstraDist::distances
.
Changed
- Breaking: The weight in
AddArcWeighted
is now an associated type. - Breaking: The weight in
ArcWeight
is now an associated type. - Breaking: The weight in
ArcsWeighted
is now an associated type. - Breaking: The weight in
OutNeighbors_Weighted
is now an associated type.
Added
- Add
AdjacencyMap
benchmarks. - Add
EdgeList
benchmarks.
Added
- Add the
BellmanFordMoore
struct. - Add the
FloydWarshall
struct. - Add the
Johnson75::new
constructor. - Add the
Tarjan
struct. - Derive
Clone
forJohnson75
. - Derive
Eq
forJohnson75
. - Derive
PartialEq
forJohnson75
.
Removed
- Breaking: remove the top-level
bellman_ford_moore
export. - Breaking: remove the top-level
floyd_warshall
export. - Breaking: remove the top-level
tarjan
export.
Changed
- Improve wording in the documentation.
Changed
- Improve wording in the
BfsDist::distances
documentation.
Add
- Add images to
BfsDist::distances
documentation.
Changed
- Clean up fixture documentation.
Changed
- Catch mutant:
src/algo/distance_matrix.rs:391:9
: replaceDistanceMatrix<W>::is_connected -> bool
withtrue
. - Catch mutant:
src/repr/adjacency_list_weighted/mod.rs:229:9
: replace<impl IsSimple for AdjacencyListWeighted<W>>::is_simple -> bool
withtrue
. - Catch mutant:
src/repr/adjacency_matrix/mod.rs:293:29
: replace^=
with|=
inAdjacencyMatrix::toggle
.
Added
- Cover missing scenario in
IsSimple for AdjacencyList
. - Cover missing scenario in
IsSimple for AdjacencyMap
. - Cover missing scenario in
IsSimple for AdjacencyMatrix
. - Cover missing scenario in
IsSimple for EdgeList
. - Cover missing scenario in
RemoveArc for AdjacencyMatrix
.
Added
- Export
BfsDist
. - Export
BfsPred
. - Export
Bfs
. - Export
DfsDist
. - Export
DfsPred
. - Export
Dfs
. - Export
DijkstraDist
. - Export
DijkstraPred
. - Export
Johnson75
.
Changed
- Breaking:
bfs_dist::Step
is replaced by(usize, usize)
. - Breaking:
bfs_pred::Step
is replaced by(Option<usize>, usize)
. - Breaking:
dfs_dist::Step
is replaced by(usize, usize)
. - Breaking:
dfs_pred::Step
is replaced by(Option<usize>, usize)
. - Breaking:
dijkstra_dist::Step
is replaced by(usize, usize)
. - Breaking:
dijkstra_pred::Step
is replaced by(Option<usize>, usize)
.
Changed
- Improve documentation.
Changed
- Improve documentation.
Added
- Add and expand
Union
tests.
Changed
- Improved API documentation's wording.
Added
- Add doctests for
Johnson75
.
Changed
- Breaking:
Johnson75::new()::find_circuits()
is replaced byJohnson75::circuits()
.
Added
- Add the
GrowingNetwork
trait.
Added
- Add
ErdosRenyi
image togen/mod
documentation. - Add
RandomTournament
image togen/mod
documentation.
Changed
- Improve
ErdosRenyi
documentation. - Improve
RandomTournament
documentation.
Changed
- Fix link.
Added
- Add the
AdjacencyMap
type. - Add the
FilterVertices
trait. - Add the
Johnson75
algorithm. - Implement From<I: IntoIterator<Item = (usize, usize)>> for EdgeList.
- Implement From<I: IntoIterator<Item = BTreeMap<usize, W>>> for AdjacencyListWeighted<W>.
- Implement From<I: IntoIterator<Item = BTreeSet<usize>>> for AdjacencyList.
- Implement From<I: IntoIterator<Item = BTreeSet<usize>>> for AdjacencyMatrix.
Removed
- Breaking: Remove
From<BTreeSet<(usize, usize)>> for EdgeList
. - Breaking: Remove
From<Vec<BTreeMap<usize, W>>> for AdjacencyListWeighted<W>
. - Breaking: Remove
From<Vec<BTreeSet<usize>>> for AdjacencyList
. - Breaking: Remove
From<Vec<BTreeSet<usize>>> for AdjacencyMatrix
.
Changed
- Expand
tarjan
tests.
Added
- Add
BfsPred::cycles
.
Added
- Add
MaxDegree
tests. - Test
MaxIndegree
. - Test
MaxOutdegree
. - Test
MinIndegree
. - Test
MinOutdegree
.
Added
- Add the
MaxIndegree
trait. - Add the
MaxOutdegree
trait. - Add the
MinIndegree
trait. - Add the
MinOutdegree
trait.
Added
- Implement
Degree::max_degree
. - Implement
Degree::min_degree
.
Changed
- Improve
Union
documentation.
Added
- Add the
Union
trait.
Changed
- Standardize implementation documentation.
Added
- Add
Wheel
tolib.rs
documentation
Summary
- Add the
Wheel
generator. - Lift the public API to the top level.
- Move common unit tests for unweighted digraphs to the
test_unweighted
module.
Added
- Add
gen::Wheel
.
Changed
- Breaking: move
adjacency_list::digraph::Digraph
torepr::adjacency_list::AdjacencyList
. - Breaking: move
adjacency_list_weighted::digraph::Digraph
torepr::adjacency_list_weighted::AdjacencyListWeighted
. - Breaking: move
adjacency_list_weighted
torepr::adjacency_list_weighted
. - Breaking: move
adjacency_list
torepr::adjacency_list
. - Breaking: move
adjacency_matrix::digraph::Digraph
torepr::adjacency_matrix::AdjacencyMatrix
. - Breaking: move
adjacency_matrix
torepr::adjacency_matrix
. - Breaking: move
edge_list::digraph::Digraph
torepr::edge_list::EdgeList
. - Breaking: move
edge_list
torepr::edge_list
. - Export
graaf::AddArcWeighted
. - Export
graaf::AddArc
. - Export
graaf::AdjacencyListWeighted
. - Export
graaf::AdjacencyList
. - Export
graaf::AdjacencyMatrix
. - Export
graaf::ArcWeight
. - Export
graaf::ArcsWeighted
. - Export
graaf::Arcs
. - Export
graaf::Biclique
. - Export
graaf::Circuit
. - Export
graaf::Complement
. - Export
graaf::Complete
. - Export
graaf::Converse
. - Export
graaf::Cycle
. - Export
graaf::DegreeSequence
. - Export
graaf::Degree
. - Export
graaf::DistanceMatrix
. - Export
graaf::EdgeList
. - Export
graaf::Empty
. - Export
graaf::ErdosRenyi
. - Export
graaf::HasArc
. - Export
graaf::HasEdge
. - Export
graaf::HasWalk
. - Export
graaf::InNeighbors
. - Export
graaf::IndegreeSequence
. - Export
graaf::Indegree
. - Export
graaf::IsBalanced
. - Export
graaf::IsComplete
. - Export
graaf::IsIsolated
. - Export
graaf::IsOriented
. - Export
graaf::IsPendant
. - Export
graaf::IsRegular
. - Export
graaf::IsSemicomplete
. - Export
graaf::IsSimple
. - Export
graaf::IsSpanningSubdigraph
. - Export
graaf::IsSubdigraph
. - Export
graaf::IsSuperdigraph
. - Export
graaf::IsSymmetric
. - Export
graaf::IsTournament
. - Export
graaf::Order
. - Export
graaf::OutNeighborsWeighted
. - Export
graaf::OutNeighbors
. - Export
graaf::OutdegreeSequence
. - Export
graaf::Outdegree
. - Export
graaf::Path
. - Export
graaf::PredecessorTree
. - Export
graaf::RandomTournament
. - Export
graaf::RemoveArc
. - Export
graaf::SemidegreeSequence
. - Export
graaf::Sinks
. - Export
graaf::Size
. - Export
graaf::Sources
. - Export
graaf::Star
. - Export
graaf::Vertices
. - Export
graaf::Wheel
. - Export
graaf::bellman_ford_moore
. - Export
graaf::bfs_dist
. - Export
graaf::bfs_pred
. - Export
graaf::bfs
. - Export
graaf::dfs_dist
. - Export
graaf::dfs_pred
. - Export
graaf::dfs
. - Export
graaf::dijkstra_dist
. - Export
graaf::dijkstra_pred
. - Export
graaf::dijkstra
. - Export
graaf::distance_matrix
. - Export
graaf::floyd_warshall
. - Export
graaf::predecessor_tree
. - Export
graaf::tarjan
. - Move common unit tests for unweighted digraphs to
test_unweighted
.
Documentation improvements.
Changed
- Improve documentation images.
- Improve module descriptions.
- Remove
// 0 -> 1
annotations from doctests.
Changed
- Improve documentation.
Added
- Add images and new examples to the
DistanceMatrix
documentation.
Added
- Add unit test
dfs_pred::iter_bang_jensen_196
. - Add unit test
dfs_pred::iter_bang_jensen_34
. - Add unit test
dfs_pred::iter_bang_jensen_94
. - Add unit test
dfs_pred::iter_kattis_builddeps
. - Add unit test
dfs_pred::iter_kattis_cantinaofbabel_1
. - Add unit test
dfs_pred::iter_kattis_cantinaofbabel_2
. - Add unit test
dfs_pred::iter_kattis_escapewallmaria_1
. - Add unit test
dfs_pred::iter_kattis_escapewallmaria_2
. - Add unit test
dfs_pred::iter_kattis_escapewallmaria_3
. - Implement
DfsPred::predecessors
.
Changed
- Improve documentation consistency.
Added
- Add
algo::dfs_pred::DfsPred
. - Add
algo::dfs_pred::Step
. - Add unit test
dfs_pred::iter_bang_jensen_196
. - Add unit test
dfs_pred::iter_bang_jensen_34
. - Add unit test
dfs_pred::iter_bang_jensen_94
. - Add unit test
dfs_pred::iter_kattis_builddeps
. - Add unit test
dfs_pred::iter_kattis_cantinaofbabel_1
. - Add unit test
dfs_pred::iter_kattis_cantinaofbabel_2
. - Add unit test
dfs_pred::iter_kattis_escapewallmaria_1
. - Add unit test
dfs_pred::iter_kattis_escapewallmaria_2
. - Add unit test
dfs_pred::iter_kattis_escapewallmaria_3
. - Implement
Iterator for DfsPred
. - Implement
dfs_pred::DfsPred::new
.
Changed
- Breaking:
dfs::Dfs::new
is no longerconst
. - Breaking:
dfs::Dfs
no longer implementsHash
. - Breaking:
dfs::Dfs
no longer implementsOrd
. - Breaking:
dfs::Dfs
no longer implementsPartialOrd
. - Breaking:
dfs_dist::DfsDist
no longer implementsHash
. - Breaking:
dfs_dist::DfsDist
no longer implementsOrd
. - Breaking:
dfs_dist::DfsDist
no longer implementsPartialOrd
. - Use a
HashMap
to track visited vertices indfs::Dfs
. - Use a
HashMap
to track visited vertices indfs_dist::DfsDist
. dfs::Dfs::new<D>
is no longer constrained toD: Order + Outneighbors
.dfs_dist::DfsDist::new<D>
is no longer constrained toD: Order + Outneighbors
.
Changed
- Breaking: rename
bfs_dist::Bfs
tobfs_dist::BfsDist
. - Breaking: rename
bfs_pred::Bfs
tobfs_pred::BfsPred
. - Breaking: rename
dfs_dist::Dfs
todfs_dist::DfsDist
. - Breaking: rename
dijkstra_dist::Dijkstra
todijkstra_dist::DijkstraDist
. - Breaking: rename
dijkstra_pred::Dijkstra
todijkstra_pred::DijkstraPred
. - Deny
renamed_function_params
lint. - Rename argument in
Index for DistanceMatrix
toindex
. - Rename argument in
Index for PredecessorTree
toindex
. - Rename argument in
IndexMut for DistanceMatrix
toindex
. - Rename argument in
IndexMut for PredecessorTree
toindex
.
Fixed
- Fix link in
dfs_dist
documentation.
Removed
- Remove naming conventions from
lib.rs
.
Changed
- Breaking:
bfs::Bfs
no longer implementsHash
. - Breaking:
bfs::Bfs
no longer implementsOrd
. - Breaking:
bfs::Bfs
no longer implementsPartialOrd
. - Breaking:
bfs_dist::Bfs
no longer implementsHash
. - Breaking:
bfs_dist::Bfs
no longer implementsOrd
. - Breaking:
bfs_dist::Bfs
no longer implementsPartialOrd
. - Breaking:
bfs_pred::Bfs
no longer implementsHash
. - Breaking:
bfs_pred::Bfs
no longer implementsOrd
. - Breaking:
bfs_pred::Bfs
no longer implementsPartialOrd
. - Breaking: speed up
bfs_dist::Bfs::distances
by returning distances in aVec
. - Speed up
Iterator for bfs::Bfs
by tracking visited vertices in aHashMap
. - Speed up
Iterator for bfs_dist::Bfs
by tracking visited vertices in aHashMap
.
Added
- Add benchmark
distances/erdos_renyi
. - Benchmark
BFS.distances
foradjacency_matrix
indistances/bang_jensen_94
. - Benchmark
BFS.distances
foradjacency_matrix
indistances/erdos_renyi
.
Changed
- Reduce benchmark overhead.
- Split
algo/single_source_distances
benchmarks into:distances/bang_jensen_94
distances/bang_jensen_96
distances/bang_jensen_99
distances/kattis_bryr_1
distances/kattis_bryr_2
distances/kattis_bryr_3
distances/kattis_crosscountry
distances/kattis_shortestpath1
Added
- Add images to
dijkstra_dist
documentation. - Add images to
dijkstra_pred
documentation. - Add images to
floyd_warshall
documentation.
Added
- Add images to
dijkstra
documentation.
Added
- Add images to
dfs
documentation.
Changed
- Remove link to removed documentation header in
lib.rs
. - Improve labels in
dfs*
documentation images.
Added
- Add images to
dfs_dist
documentation.
Fixed
- Fix test coverage.
Added
- Add module
edge_list::digraph
. - Add module
edge_list::fixture
. - Add module
edge_list
. - Add type
edge_list::Digraph
. - Add time complexity warnings to
Indegree::indegree
foradjacency_matrix
. - Add time complexity warnings to
OutNeighbors::out_neighbors
foradjacency_matrix
. - Add time complexity warnings to
OutNeighborsWeighted::out_neighbors_weighted
foradjacency_matrix
. - Add time complexity warnings to
Outdegree::outdegree
foradjacency_matrix
. - Add unit test
circuit_0
foradjacency_list
. - Add unit test
circuit_0
foradjacency_matrix
. - Implement
AddArc
foredge_list::Digraph
. - Implement
AddWeight<usize>
foredge_list::Digraph
. - Implement
ArcsWeighted
foredge_list::Digraph
. - Implement
Arcs
foredge_list::Digraph
. - Implement
Biclique
foredge_list::Digraph
. - Implement
Circuit
foredge_list::Digraph
. - Implement
Converse
foredge_list::Digraph
. - Implement
Empty
foredge_list::Digraph
. - Implement
Empty
foredge_list::Digraph
. - Implement
From<BTreeSet<(usize, usize)>>
foredge_list::Digraph
. - Implement
From<adjacency_list::Digraph>
foredge_list::Digraph
. - Implement
From<adjacency_matrix::Digraph>
foredge_list::Digraph
. - Implement
IsSimple
foredge_list::Digraph
. - Implement
Order
foredge_list::Digraph
. - Implement
OutNeighborsWeighted<usize>
foredge_list::Digraph
. - Implement
OutNeighbors
foredge_list::Digraph
. - Implement
Outdegree
foredge_list::Digraph
. - Implement
RemoveArc
foredge_list::Digraph
. - Implement
Size
foredge_list::Digraph
. - Implement
Vertices
foredge_list::Digraph
.
Changed
- Breaking: assert that
order > 0
inCircuit::circuit
foradjacency_list
. - Misc. improvements to
README.md
. - Misc. improvements to
adjacency_list
documentation. - Misc. improvements to
adjacency_matrix
documentation. - Misc. improvements to
lib.rs
documentation.
Fixed
- Fix links to
bfs_pred
documentation.
Changed
- Add images to
bfs_pred
documentation. - Improve documentation images.
Changed
- Add images to
bfs_dist
documentation. - Improve documentation image consistency.
- Split
README.md
intoREADME.md
,GOALS.md
, andNAMING.md
.
Added
- Add alias
algo::bellman_ford
foralgo::bellman_ford_moore
. - Add images to the
adjacency_list_weighted/fixture
documentation. - Add images to the
algo/bellman_ford_moore
documentation. - Add images to the
algo/bfs
documentation.
Changed
- Breaking: change
source: usize
indfs::Dfs::new
tosources: Vec<usize>
. - Breaking: change
source: usize
indfs_dist::Dfs::new
tosources: IntoIterator<Item = &'b usize>
. - Breaking: change
sources
inbfs::Bfs::new
toIntoIterator<Item = &'b usize>
. - Breaking: change
sources
inbfs_dist::Bfs::new
toIntoIterator<Item = &'b usize>
. - Breaking: change
sources
inbfs_pred::Bfs::new
toIntoIterator<Item = &'b usize>
. - Breaking: change
sources
indijkstra::Dijkstra::new
toIntoIterator<Item = &'b usize>
. - Breaking: change
sources
indijkstra_dist::Dijkstra::new
toIntoIterator<Item = &'b usize>
. - Breaking: change
sources
indijkstra_pred::Dijkstra::new
toIntoIterator<Item = &'b usize>
. - Improve documentation examples for
algo::bfs
.
Added
- Add images to
bfs
documentation. - Add images to
adjacency_list/fixture
documentation. - Add images to
adjacency_matrix/fixture
documentation.
Fixed
- Fix
adjacency_matrix::*::*_bang_jensen_196
unit tests. - Fix
adjacency_matrix::*::*_kattis_caninaofbabel_1
unit tests. - Fix
adjacency_matrix::*::*_kattis_caninaofbabel_2
unit tests.
Added
- Add images to
gen
documentation. - Add images to
biclique
documentation. - Add images to
circuit
documentation. - Add images to
complete
documentation. - Add images to
cycle
documentation. - Add images to
empty
documentation. - Add images to
path
documentation. - Add images to
star
documentation.
Added
- Add images to the examples in
gen/complete
.
Changed
- Breaking: move
algo::types::distance_matrix
toalgo::distance_matrix
. - Breaking: move
algo::types::predecessor_tree
toalgo::predecessor_tree
. - Misc. documentation improvements.
Added
- Add
bfs_dist::Bfs::distances
. - Add
bfs_pred::Bfs::predecessors
. - Add
bfs_pred::Bfs::shortest_path
. - Add
dijkstra_dist::Dijkstra::distances
. - Add
dijkstra_pred::Dijkstra::predecessors
. - Add
dijkstra_pred::Dijkstra::shortest_path
. - Add the
algo::bfs::Bfs
iterator. - Add the
algo::bfs_dist::Bfs
iterator. - Add the
algo::bfs_pred::Bfs
iterator. - Add the
algo::dfs::Dfs
iterator. - Add the
algo::dfs_dist::Dfs
iterator. - Add the
algo::dijkstra::Dijkstra
iterator. - Add the
algo::dijkstra_dist::Dijkstra
iterator. - Add the
algo::dijkstra_pred::Dijkstra
iterator.
Removed
- Breaking: Remove
algo::bfs
functions, replaced bybfs*::Bfs
iterators. - Breaking: Remove
algo::dfs
functions, replaced bydfs*::Dfs
iterators. - Breaking: Remove
algo::dijkstra
functions, replaced bydijkstra*::Dijkstra
iterators.
Changed
- Minor documentation improvements.
Changed
- Breaking: rename
op::IsWalk
toop::HasWalk
. - Simplify the
lib.rs
operations documentation. - Simplify the
README
operations section.
Changed
- Breaking:
random_tournament
now takes aseed
parameter. - Breaking:
erdos_renyi
now takes aseed
parameter.
Fixed
- Fix documentation in
erdos_renyi
.
Added
- Add the
ErdosRenyi
generator. - Add property test
erdos_renyi_degree
foradjacency_matrix
. - Add property test
erdos_renyi_degree_sum_equals_2size
foradjacency_matrix
. - Add property test
erdos_renyi_even_number_odd_degrees
foradjacency_matrix
. - Add property test
erdos_renyi_has_arc
foradjacency_matrix
. - Add property test
erdos_renyi_indegree
foradjacency_matrix
. - Add property test
erdos_renyi_is_complete
foradjacency_matrix
. - Add property test
erdos_renyi_is_simple
foradjacency_matrix
. - Add property test
erdos_renyi_is_subdigraph
foradjacency_matrix
. - Add property test
erdos_renyi_is_superdigraph
foradjacency_matrix
. - Add property test
erdos_renyi_order
foradjacency_matrix
. - Add property test
erdos_renyi_outdegree
foradjacency_matrix
. - Add property test
erdos_renyi_size_p_0
foradjacency_matrix
. - Add property test
erdos_renyi_size_p_1
foradjacency_matrix
. - Add property test
erdos_renyi_degree
foradjacency_list
. - Add property test
erdos_renyi_degree_sum_equals_2size
foradjacency_list
. - Add property test
erdos_renyi_even_number_odd_degrees
foradjacency_list
. - Add property test
erdos_renyi_has_arc
foradjacency_list
. - Add property test
erdos_renyi_indegree
foradjacency_list
. - Add property test
erdos_renyi_is_complete
foradjacency_list
. - Add property test
erdos_renyi_is_simple
foradjacency_list
. - Add property test
erdos_renyi_is_subdigraph
foradjacency_list
. - Add property test
erdos_renyi_is_superdigraph
foradjacency_list
. - Add property test
erdos_renyi_order
foradjacency_list
. - Add property test
erdos_renyi_outdegree
foradjacency_list
. - Add property test
erdos_renyi_size_p_0
foradjacency_list
. - Add property test
erdos_renyi_size_p_1
foradjacency_list
. - Internal: add
next_f64
forXoshiro256StarStar
. - Internal: add property test
next_f64
forXoshiro256StarStar
.
Changed
- Misc. documentation improvements.
Iterators now underpin the BFS and DFS implementations.
Added
- Add the
dfs::Dfs
iterator. - Add the
dfs_depth::Dfs
iterator. - Add the
bfs::Bfs
iterator. - Add the
bfs_depth::Bfs
iterator. - Add the
bfs_pred::Bfs
iterator.
Changed
- Breaking: move
Bfs::distances
tobfs_depth::Bfs::distances
. - Breaking: move
Bfs::predecessors
tobfs_pred::Bfs::predecessors
. - Breaking: move
Bfs::shortest_path
tobfs_pred::Bfs::shortest_path
.
Removed
- Breaking: remove
dfs::dfsa
. - Breaking: remove
dfs::dfsa_predecessors
. - Breaking: remove
dfs::acyclic_ordering
.
Fixed
- Fix
Bfs
links inREADME.md
.
Added
- Add
Bfs::distances
. - Add
Bfs::predecessors
. - Add
Bfs::shortest_path
. - Add type
algo::Bfs
to represent the BFS algorithm. - Add type
bfs::Step
to represent a step in the BFS algorithm. - Implement
Bfs::new
. - Implement
Circuit
foradjacency_list::Digraph
. - Implement
Circuit
foradjacency_matrix::Digraph
. - Implement
Iterator for Bfs
to Iterate the vertices in the BFS order.
Changed
- Benchmark the new
Circuit
implementation foradjacency_list
alongside the previous implementation inbench::algo::circuit
. - Expand
adjacency_list::fixture::kattis_escapewallmaria_*
digraphs to be of order 16. - Expand
adjacency_matrix::fixture::kattis_escapewallmaria_*
digraphs to be of order 16. - Show an implementation that does not use
AddArc
andEmpty
in thealgo::circuit
documentation. - Sync
adjacency_list::digraph
unit tests with the newadjacency_list::fixture::kattis_escapewallmaria_*
fixtures. - Sync
adjacency_matrix::digraph
unit tests with the newadjacency_matrix::fixture::kattis_escapewallmaria_*
fixtures. - Use the new
Bfs
API inbench::algo::single_source_distances
. - Use the new
Bfs
API inbfs
documentation test examples. - Use the new
Bfs
API inbfs
unit tests. - Use the new
Bfs
API inpredecessor_tree
documentation test examples.
Removed
- Breaking: remove
Circuit for D: AddArc + Empty
in favor ofCircuit for adjacency_list::Digraph
andCircuit for adjacency_matrix::Digraph
. - Breaking: remove
bfs::distances
in favor ofbfs::Bfs::distances
. - Breaking: remove
bfs::predecessors
in favor ofbfs::Bfs::predecessors
. - Breaking: remove
bfs::shortest_path
in favor ofbfs::Bfs::shortest_path
. - Breaking: remove
bfs::single_pair_shortest_path
. - Breaking: remove
bfs::single_source_distances
. - Breaking: remove
bfs::single_source_predecessors
. - Remove references to
algo::bfs
andalgo::floyd_warshall
from thealgo::dijkstra
documentation. - Remove references to
algo::dijkstra
from thealgo::bfs
documentation.
Added
- Add benchmark
biclique
. - Add benchmark
circuit
. - Add benchmark
complete
. - Add benchmark
cycle
. - Add benchmark
empty
. - Add benchmark
path
. - Add benchmark
random_tournament
. - Add benchmark
star
. - Add property test
random_tournament_has_arc
foradjacency_list
. - Add property test
random_tournament_has_arc
foradjacency_matrix
.
Changed
- Breaking: remove
Biclique
blanket implementation forD: AddArc + Empty
. - Improve performance of
Biclique::biclique
foradjacency_list
. - Remove
sample_size
attribute fromsingle_source_distances
benchmarks.
Added
- Add property test
biclique_degree_sequence
foradjacency_list
. - Add property test
biclique_degree_sequence
foradjacency_matrix
. - Add property test
circuit_degree_sequence
foradjacency_list
. - Add property test
circuit_degree_sequence
foradjacency_matrix
. - Add property test
complete_degree_sequence
foradjacency_list
. - Add property test
complete_degree_sequence
foradjacency_matrix
. - Add property test
cycle_degree_sequence
foradjacency_list
. - Add property test
cycle_degree_sequence
foradjacency_matrix
. - Add property test
empty_degree_sequence
foradjacency_list
. - Add property test
empty_degree_sequence
foradjacency_matrix
. - Add property test
path_degree_sequence
foradjacency_list
. - Add property test
path_degree_sequence
foradjacency_matrix
. - Add property test
random_tournament_degree_sequence
foradjacency_list
. - Add property test
random_tournament_degree_sequence
foradjacency_matrix
. - Add property test
star_degree_sequence
foradjacency_list
. - Add property test
star_degree_sequence
foradjacency_matrix
. - Add the
DegreeSequence
trait. - Add unit test
degree_sequence_bang_jensen_196
foradjacency_list
. - Add unit test
degree_sequence_bang_jensen_196
foradjacency_matrix
. - Add unit test
degree_sequence_bang_jensen_34
foradjacency_list
. - Add unit test
degree_sequence_bang_jensen_34
foradjacency_matrix
. - Add unit test
degree_sequence_bang_jensen_94
foradjacency_list
. - Add unit test
degree_sequence_bang_jensen_94
foradjacency_matrix
. - Add unit test
degree_sequence_kattis_builddeps
foradjacency_list
. - Add unit test
degree_sequence_kattis_builddeps
foradjacency_matrix
. - Add unit test
degree_sequence_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
degree_sequence_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
degree_sequence_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
degree_sequence_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
degree_sequence_kattis_escapewallmaria_1
foradjacency_list
. - Add unit test
degree_sequence_kattis_escapewallmaria_1
foradjacency_matrix
. - Add unit test
degree_sequence_kattis_escapewallmaria_2
foradjacency_list
. - Add unit test
degree_sequence_kattis_escapewallmaria_2
foradjacency_matrix
. - Add unit test
degree_sequence_kattis_escapewallmaria_3
foradjacency_list
. - Add unit test
degree_sequence_kattis_escapewallmaria_3
foradjacency_matrix
.
Added
- Add the
Sources
trait. - Add property test
biclique_sources
foradjacency_list
. - Add property test
biclique_sources
foradjacency_matrix
. - Add property test
circuit_sources
foradjacency_list
. - Add property test
circuit_sources
foradjacency_matrix
. - Add property test
complete_sources
foradjacency_list
. - Add property test
complete_sources
foradjacency_matrix
. - Add property test
cycle_sources
foradjacency_list
. - Add property test
cycle_sources
foradjacency_matrix
. - Add property test
empty_sources
foradjacency_list
. - Add property test
empty_sources
foradjacency_matrix
. - Add property test
path_sources
foradjacency_list
. - Add property test
path_sources
foradjacency_matrix
. - Add property test
random_tournament_sources
foradjacency_list
. - Add property test
random_tournament_sources
foradjacency_matrix
. - Add property test
star_sources
foradjacency_list
. - Add property test
star_sources
foradjacency_matrix
. - Add unit test
sources_bang_jensen_196
foradjacency_list
. - Add unit test
sources_bang_jensen_196
foradjacency_matrix
. - Add unit test
sources_bang_jensen_34
foradjacency_list
. - Add unit test
sources_bang_jensen_34
foradjacency_matrix
. - Add unit test
sources_bang_jensen_94
foradjacency_list
. - Add unit test
sources_bang_jensen_94
foradjacency_matrix
. - Add unit test
sources_kattis_builddeps
foradjacency_list
. - Add unit test
sources_kattis_builddeps
foradjacency_matrix
. - Add unit test
sources_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
sources_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
sources_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
sources_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
sources_kattis_escapewallmaria_1
foradjacency_list
. - Add unit test
sources_kattis_escapewallmaria_1
foradjacency_matrix
. - Add unit test
sources_kattis_escapewallmaria_2
foradjacency_list
. - Add unit test
sources_kattis_escapewallmaria_2
foradjacency_matrix
. - Add unit test
sources_kattis_escapewallmaria_3
foradjacency_list
. - Add unit test
sources_kattis_escapewallmaria_3
foradjacency_matrix
.
Added
- Add unit test
arcs_bang_jensen_196
foradjacency_list
. - Add unit test
arcs_bang_jensen_196
foradjacency_matrix
. - Add unit test
arcs_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
arcs_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
arcs_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
arcs_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
arcs_weighted_bang_jensen_196
foradjacency_list
. - Add unit test
arcs_weighted_bang_jensen_196
foradjacency_matrix
. - Add unit test
arcs_weighted_cantinaofbabel_1
foradjacency_list
. - Add unit test
arcs_weighted_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
arcs_weighted_cantinaofbabel_2
foradjacency_list
. - Add unit test
arcs_weighted_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
converse_bang_jensen_196
foradjacency_list
. - Add unit test
converse_bang_jensen_196
foradjacency_matrix
. - Add unit test
converse_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
converse_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
converse_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
converse_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
degree_bang_jensen_196
foradjacency_list
. - Add unit test
degree_bang_jensen_196
foradjacency_matrix
. - Add unit test
degree_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
degree_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
degree_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
degree_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
in_neighbors_bang_jensen_196
foradjacency_list
. - Add unit test
in_neighbors_bang_jensen_196
foradjacency_matrix
. - Add unit test
in_neighbors_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
in_neighbors_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
in_neighbors_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
in_neighbors_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
indegree_bang_jensen_196
foradjacency_list
. - Add unit test
indegree_bang_jensen_196
foradjacency_matrix
. - Add unit test
indegree_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
indegree_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
indegree_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
indegree_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
indegree_sequence_bang_jensen_196
foradjacency_list
. - Add unit test
indegree_sequence_bang_jensen_196
foradjacency_matrix
. - Add unit test
indegree_sequence_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
indegree_sequence_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
indegree_sequence_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
indegree_sequence_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_balanced_bang_jensen_196
foradjacency_list
. - Add unit test
is_balanced_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_balanced_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_balanced_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_balanced_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_balanced_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_complete_bang_jensen_196
foradjacency_list
. - Add unit test
is_complete_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_complete_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_complete_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_complete_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_complete_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_isolated_bang_jensen_196
foradjacency_list
. - Add unit test
is_isolated_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_isolated_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_isolated_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_isolated_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_isolated_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_oriented_bang_jensen_196
foradjacency_list
. - Add unit test
is_oriented_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_oriented_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_oriented_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_oriented_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_oriented_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_pendant_bang_jensen_196
foradjacency_list
. - Add unit test
is_pendant_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_pendant_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_pendant_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_pendant_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_pendant_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_regular_bang_jensen_196
foradjacency_list
. - Add unit test
is_regular_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_regular_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_regular_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_regular_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_regular_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_semicomplete_bang_jensen_196
foradjacency_list
. - Add unit test
is_semicomplete_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_semicomplete_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_semicomplete_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_semicomplete_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_semicomplete_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_simple_bang_jensen_196
foradjacency_list
. - Add unit test
is_simple_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_simple_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_simple_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_simple_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_simple_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_symmetric_bang_jensen_196
foradjacency_list
. - Add unit test
is_symmetric_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_symmetric_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_symmetric_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_symmetric_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_symmetric_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
is_tournament_bang_jensen_196
foradjacency_list
. - Add unit test
is_tournament_bang_jensen_196
foradjacency_matrix
. - Add unit test
is_tournament_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
is_tournament_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
is_tournament_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
is_tournament_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
order_bang_jensen_196
foradjacency_list
. - Add unit test
order_bang_jensen_196
foradjacency_matrix
. - Add unit test
order_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
order_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
order_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
order_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
out_neighbors_bang_jensen_196
foradjacency_list
. - Add unit test
out_neighbors_bang_jensen_196
foradjacency_matrix
. - Add unit test
out_neighbors_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
out_neighbors_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
out_neighbors_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
out_neighbors_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
out_neighbors_weighted_bang_jensen_196
foradjacency_list
. - Add unit test
out_neighbors_weighted_bang_jensen_196
foradjacency_matrix
. - Add unit test
out_neighbors_weighted_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
out_neighbors_weighted_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
out_neighbors_weighted_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
out_neighbors_weighted_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
outdegree_bang_jensen_196
foradjacency_list
. - Add unit test
outdegree_bang_jensen_196
foradjacency_matrix
. - Add unit test
outdegree_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
outdegree_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
outdegree_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
outdegree_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
outdegree_sequence_bang_jensen_196
foradjacency_list
. - Add unit test
outdegree_sequence_bang_jensen_196
foradjacency_matrix
. - Add unit test
outdegree_sequence_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
outdegree_sequence_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
outdegree_sequence_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
outdegree_sequence_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
remove_arc_bang_jensen_196
foradjacency_list
. - Add unit test
remove_arc_bang_jensen_196
foradjacency_matrix
. - Add unit test
remove_arc_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
remove_arc_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
remove_arc_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
remove_arc_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
semidegree_sequence_bang_jensen_196
foradjacency_list
. - Add unit test
semidegree_sequence_bang_jensen_196
foradjacency_matrix
. - Add unit test
semidegree_sequence_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
semidegree_sequence_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
semidegree_sequence_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
semidegree_sequence_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
sinks_bang_jensen_196
foradjacency_list
. - Add unit test
sinks_bang_jensen_196
foradjacency_matrix
. - Add unit test
sinks_bang_jensen_34
foradjacency_list
. - Add unit test
sinks_bang_jensen_34
foradjacency_matrix
. - Add unit test
sinks_bang_jensen_94
foradjacency_list
. - Add unit test
sinks_bang_jensen_94
foradjacency_matrix
. - Add unit test
sinks_kattis_builddeps
foradjacency_list
. - Add unit test
sinks_kattis_builddeps
foradjacency_matrix
. - Add unit test
sinks_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
sinks_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
sinks_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
sinks_kattis_cantinaofbabel_2
foradjacency_matrix
. - Add unit test
sinks_kattis_escapewallmaria_1
foradjacency_list
. - Add unit test
sinks_kattis_escapewallmaria_1
foradjacency_matrix
. - Add unit test
sinks_kattis_escapewallmaria_2
foradjacency_list
. - Add unit test
sinks_kattis_escapewallmaria_2
foradjacency_matrix
. - Add unit test
sinks_kattis_escapewallmaria_3
foradjacency_list
. - Add unit test
sinks_kattis_escapewallmaria_3
foradjacency_matrix
. - Add unit test
size_bang_jensen_196
foradjacency_list
. - Add unit test
size_bang_jensen_196
foradjacency_matrix
. - Add unit test
size_kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
size_kattis_cantinaofbabel_1
foradjacency_matrix
. - Add unit test
size_kattis_cantinaofbabel_2
foradjacency_list
. - Add unit test
size_kattis_cantinaofbabel_2
foradjacency_matrix
.
Added
- Add fixture
kattis_cantinaofbabel_2
foradjacency_list
. - Add property test
biclique_sinks
foradjacency_list
. - Add property test
biclique_sinks
foradjacency_matrix
. - Add property test
circuit_sinks
foradjacency_list
. - Add property test
circuit_sinks
foradjacency_matrix
. - Add property test
circuit_size
foradjacency_list
. - Add property test
circuit_size
foradjacency_matrix
. - Add property test
complete_complement_size
foradjacency_list
. - Add property test
complete_complement_size
foradjacency_matrix
. - Add property test
complete_sinks
foradjacency_list
. - Add property test
complete_sinks
foradjacency_matrix
. - Add property test
cycle_sinks
foradjacency_list
. - Add property test
cycle_sinks
foradjacency_matrix
. - Add property test
cycle_size
foradjacency_list
. - Add property test
cycle_size
foradjacency_matrix
. - Add property test
empty_complement_size
foradjacency_list
. - Add property test
empty_complement_size
foradjacency_matrix
. - Add property test
empty_even_number_odd_degrees
foradjacency_list
. - Add property test
empty_even_number_odd_degrees
foradjacency_matrix
. - Add property test
empty_sinks
foradjacency_list
. - Add property test
empty_sinks
foradjacency_matrix
. - Add property test
empty_size
foradjacency_list
. - Add property test
empty_size
foradjacency_matrix
. - Add property test
path_sinks
foradjacency_list
. - Add property test
path_sinks
foradjacency_matrix
. - Add property test
path_size
foradjacency_list
. - Add property test
path_size
foradjacency_matrix
. - Add property test
random_tournament_complement_size
foradjacency_list
. - Add property test
random_tournament_complement_size
foradjacency_matrix
. - Add property test
star_sinks
foradjacency_list
. - Add property test
star_sinks
foradjacency_matrix
. - Add property test
star_size
foradjacency_list
. - Add property test
star_size
foradjacency_matrix
. - Add trait
op::Sinks
. - Add unit test
strongly_connected_components_kattis_cantinaofbabel_2
foralgo::tarjan
.
Changed
- Add a human-readable adjacency list to each documentation test digraph.
- Use
Vec<BTreeSet<usize>>
inop
implementation examples.
Changed
- Clean up tests; make all property tests complete.
Changed
- Format source code with
max_length = 79
. - Remove macros from the
dijkstra
tests.
Added
- Add a documentation test example for
IndegreeSequence
. - Add a documentation test example for
OutdegreeSequence
.
Fixed
- Fix misc. documentation errors.
Added
- Add property test
biclique_outdegree_sequence
foradjacency_list
. - Add property test
biclique_outdegree_sequence
foradjacency_matrix
. - Add property test
circuit_outdegree_sequence
foradjacency_list
. - Add property test
circuit_outdegree_sequence
foradjacency_matrix
. - Add property test
circuit_outdegree
foradjacency_list
. - Add property test
circuit_outdegree
foradjacency_matrix
. - Add property test
complete_outdegree_sequence
foradjacency_list
. - Add property test
complete_outdegree_sequence
foradjacency_matrix
. - Add property test
cycle_outdegree_sequence
foradjacency_list
. - Add property test
cycle_outdegree_sequence
foradjacency_matrix
. - Add property test
cycle_outdegree
foradjacency_list
. - Add property test
cycle_outdegree
foradjacency_matrix
. - Add property test
empty_outdegree_sequence
foradjacency_list
. - Add property test
empty_outdegree_sequence
foradjacency_matrix
. - Add property test
path_outdegree_sequence
foradjacency_list
. - Add property test
path_outdegree_sequence
foradjacency_matrix
. - Add property test
path_outdegree
foradjacency_list
. - Add property test
path_outdegree
foradjacency_matrix
. - Add property test
random_tournament_outdegree_sequence
foradjacency_list
. - Add property test
random_tournament_outdegree_sequence
foradjacency_matrix
. - Add property test
star_outdegree_sequence
foradjacency_list
. - Add property test
star_outdegree_sequence
foradjacency_matrix
. - Add property test
star_outdegree
foradjacency_list
. - Add property test
star_outdegree
foradjacency_matrix
. - Add the
OutdegreeSequence
trait. - Add unit test
circuit_1_outdegree_sequence
foradjacency_list
. - Add unit test
circuit_1_outdegree_sequence
foradjacency_matrix
. - Add unit test
circuit_1_outdegree
foradjacency_list
. - Add unit test
circuit_1_outdegree
foradjacency_matrix
. - Add unit test
cycle_1_outdegree_sequence
foradjacency_list
. - Add unit test
cycle_1_outdegree_sequence
foradjacency_matrix
. - Add unit test
cycle_1_outdegree
foradjacency_list
. - Add unit test
cycle_1_outdegree
foradjacency_matrix
. - Add unit test
cycle_2_outdegree
foradjacency_list
. - Add unit test
cycle_2_outdegree
foradjacency_matrix
. - Add unit test
outdegree_sequence_bang_jensen_34
foradjacency_list
. - Add unit test
outdegree_sequence_bang_jensen_34
foradjacency_matrix
. - Add unit test
outdegree_sequence_bang_jensen_94
foradjacency_list
. - Add unit test
outdegree_sequence_bang_jensen_94
foradjacency_matrix
. - Add unit test
outdegree_sequence_kattis_builddeps
foradjacency_list
. - Add unit test
outdegree_sequence_kattis_builddeps
foradjacency_matrix
. - Add unit test
outdegree_sequence_kattis_escapewallmaria_1
foradjacency_list
. - Add unit test
outdegree_sequence_kattis_escapewallmaria_1
foradjacency_matrix
. - Add unit test
outdegree_sequence_kattis_escapewallmaria_2
foradjacency_list
. - Add unit test
outdegree_sequence_kattis_escapewallmaria_2
foradjacency_matrix
. - Add unit test
outdegree_sequence_kattis_escapewallmaria_3
foradjacency_list
. - Add unit test
outdegree_sequence_kattis_escapewallmaria_3
foradjacency_matrix
.
Added
- Add
IndegreeSequence
to theREADME
. - Add
IndegreeSequence
tolib.rs
.
Added
- Add property test
biclique_indegree_sequence
foradjacency_list
. - Add property test
biclique_indegree_sequence
foradjacency_matrix
. - Add property test
circuit_indegree_sequence
foradjacency_list
. - Add property test
circuit_indegree_sequence
foradjacency_matrix
. - Add property test
complete_indegree_sequence
foradjacency_list
. - Add property test
complete_indegree_sequence
foradjacency_matrix
. - Add property test
cycle_indegree_sequence
foradjacency_list
. - Add property test
cycle_indegree_sequence
foradjacency_matrix
. - Add property test
empty_indegree_sequence
foradjacency_list
. - Add property test
empty_indegree_sequence
foradjacency_matrix
. - Add property test
path_indegree_sequence
foradjacency_list
. - Add property test
path_indegree_sequence
foradjacency_matrix
. - Add property test
random_tournament_indegree_sequence
foradjacency_list
. - Add property test
random_tournament_indegree_sequence
foradjacency_matrix
. - Add property test
star_indegree_sequence
foradjacency_list
. - Add property test
star_indegree_sequence
foradjacency_matrix
. - Add the
IndegreeSequence
trait. - Add unit test
circuit_1_indegree_sequence
foradjacency_list
. - Add unit test
circuit_1_indegree_sequence
foradjacency_matrix
. - Add unit test
cycle_1_indegree_sequence
foradjacency_list
. - Add unit test
cycle_1_indegree_sequence
foradjacency_matrix
. - Add unit test
cycle_2_indegree_sequence
foradjacency_list
. - Add unit test
cycle_2_indegree_sequence
foradjacency_matrix
. - Add unit test
indegree_sequence_bang_jensen_34
foradjacency_list
. - Add unit test
indegree_sequence_bang_jensen_34
foradjacency_matrix
. - Add unit test
indegree_sequence_bang_jensen_94
foradjacency_list
. - Add unit test
indegree_sequence_bang_jensen_94
foradjacency_matrix
. - Add unit test
indegree_sequence_kattis_builddeps
foradjacency_list
. - Add unit test
indegree_sequence_kattis_builddeps
foradjacency_matrix
. - Add unit test
indegree_sequence_kattis_escapewallmaria_1
foradjacency_list
. - Add unit test
indegree_sequence_kattis_escapewallmaria_1
foradjacency_matrix
. - Add unit test
indegree_sequence_kattis_escapewallmaria_2
foradjacency_list
. - Add unit test
indegree_sequence_kattis_escapewallmaria_2
foradjacency_matrix
. - Add unit test
indegree_sequence_kattis_escapewallmaria_3
foradjacency_list
. - Add unit test
indegree_sequence_kattis_escapewallmaria_3
foradjacency_matrix
.
Changed
- Breaking: Rename
DegreeSequence::degree_sequence
toSemidegreeSequence::semidegree_sequence
. - Breaking: Rename
DegreeSequence
toSemidegreeSequence
. - Breaking:
SemidegreeSequence::semidegree_sequence
now returns an iterator.
Changed
- Add
gen::Path
toREADME
. - Add
gen::Path
tolib.rs
.
Added
- Add property test
path_complement_size
foradjacency_list
. - Add property test
path_degree_sequence
foradjacency_list
. - Add property test
path_degree_sum_equals_2size
foradjacency_list
. - Add property test
path_degree
foradjacency_list
. - Add property test
path_even_number_odd_degrees
foradjacency_list
. - Add property test
path_has_edge
foradjacency_list
. - Add property test
path_indegree
foradjacency_list
. - Add property test
path_is_balanced
foradjacency_list
. - Add property test
path_is_complete
foradjacency_list
. - Add property test
path_is_isolated
foradjacency_list
. - Add property test
path_is_oriented
foradjacency_list
. - Add property test
path_is_pendant
foradjacency_list
. - Add property test
path_is_regular
foradjacency_list
. - Add property test
path_is_semicomplete
foradjacency_list
. - Add property test
path_is_simple
foradjacency_list
. - Add property test
path_is_sink
foradjacency_list
. - Add property test
path_is_source
foradjacency_list
. - Add property test
path_is_spanning_subdigraph
foradjacency_list
. - Add property test
path_is_subdigraph
foradjacency_list
. - Add property test
path_is_superdigraph
foradjacency_list
. - Add property test
path_is_symmetric
foradjacency_list
. - Add property test
path_is_tournament
foradjacency_list
. - Add property test
star_complement_size
foradjacency_list
. - Add unit test
biclique_1_1_complement
foradjacency_list
. - Add unit test
biclique_1_2_complement
foradjacency_list
. - Add unit test
biclique_2_1_complement
foradjacency_list
. - Add unit test
biclique_2_2_complement
foradjacency_list
. - Add unit test
circuit_1_complement
foradjacency_list
. - Add unit test
circuit_2_complement
foradjacency_list
. - Add unit test
circuit_3_complement
foradjacency_list
. - Add unit test
complete_1_complement
foradjacency_list
. - Add unit test
complete_2_complement
foradjacency_list
. - Add unit test
complete_3_complement
foradjacency_list
. - Add unit test
cycle_1_complement
foradjacency_list
. - Add unit test
cycle_2_complement
foradjacency_list
. - Add unit test
cycle_3_complement
foradjacency_list
. - Add unit test
empty_1_complement
foradjacency_list
. - Add unit test
empty_2_complement
foradjacency_list
. - Add unit test
empty_3_complement
foradjacency_list
. - Add unit test
path_1_complement
foradjacency_list
. - Add unit test
path_1_is_balanced
foradjacency_list
. - Add unit test
path_1_is_complete
foradjacency_list
. - Add unit test
path_1_is_isolated
foradjacency_list
. - Add unit test
path_1_is_pendant
foradjacency_list
. - Add unit test
path_1_is_regular
foradjacency_list
. - Add unit test
path_1_is_semicomplete
foradjacency_list
. - Add unit test
path_1_is_sink
foradjacency_list
. - Add unit test
path_1_is_symmetric
foradjacency_list
. - Add unit test
path_1_is_tournament
foradjacency_list
. - Add unit test
path_1
foradjacency_list
. - Add unit test
path_2_complement
foradjacency_list
. - Add unit test
path_2_is_balanced
foradjacency_list
. - Add unit test
path_2_is_complete
foradjacency_list
. - Add unit test
path_2_is_regular
foradjacency_list
. - Add unit test
path_2_is_semicomplete
foradjacency_list
. - Add unit test
path_2_is_symmetric
foradjacency_list
. - Add unit test
path_2_is_tournament
foradjacency_list
. - Add unit test
path_2
foradjacency_list
. - Add unit test
path_3_complement
foradjacency_list
. - Add unit test
path_3
foradjacency_list
. - Add unit test
star_1_complement
foradjacency_list
. - Add unit test
star_2_complement
foradjacency_list
. - Add unit test
star_3_complement
foradjacency_list
. - Export
algo::PredecessorTree
. - Export
algo::DistanceMatrix
.
Changed
- Breaking: Move
algo::predecessor_tree
toalgo::types::predecessor_tree
. - Breaking: Move
algo::distance_matrix
toalgo::types::distance_matrix
. - Expand property test
star_has_edge
foradjacency_list
. - Expand property test
star_has_edge
foradjacency_matrix
. - Improve documentation consistency.
Added
- Add fixture
kattis_cantinaofbabel_1
foradjacency_list
. - Add unit test
strongly_connected_components_kattis_cantinaofbabel_1
foralgo::tarjan
.
Added
- Add proptest strategy
arc
. - Add unit test
add_arc_out_of_bounds_u
foradjacency_list
. - Add unit test
add_arc_out_of_bounds_u
foradjacency_matrix
. - Add unit test
add_arc_out_of_bounds_v
foradjacency_list
. - Add unit test
add_arc_out_of_bounds_v
foradjacency_matrix
. - Add unit test
add_arc_u_equals_v
foradjacency_list
. - Add unit test
add_arc_u_equals_v
foradjacency_matrix
. - Add unit test
add_arc_weighted_out_of_bounds_u
foradjacency_list_weighted
. - Add unit test
add_arc_weighted_out_of_bounds_v
foradjacency_list_weighted
. - Add unit test
add_arc_weighted_u_equals_v
foradjacency_list_weighted
. - Add unit test
from_vec_out_of_bounds_v
foradjacency_list
. - Add unit test
from_vec_out_of_bounds_v
foradjacency_matrix
. - Add unit test
from_vec_u_equals_v
foradjacency_list
. - Add unit test
from_vec_u_equals_v
foradjacency_matrix
. - Add unit test
from_vec
foradjacency_list
.
Changed
- Breaking:
From<Vec<BTreeMap<usize, W>>>
foradjacency_list_weighted::Digraph
panics if for any arcu -> v
,u
equalsv
. - Breaking:
From<Vec<BTreeMap<usize, W>>>
foradjacency_list_weighted::Digraph
panics if for any arcu -> v
,v
is not in the digraph. - Breaking:
From<Vec<BTreeSet<usize>>>
foradjacency_list::Digraph
panics if for any arcu -> v
,u
equalsv
. - Breaking:
From<Vec<BTreeSet<usize>>>
foradjacency_list::Digraph
panics if for any arcu -> v
,v
is not in the digraph. - Breaking:
adjacency_list::Digraph::add_arc
panics ifu
equalsv
. - Breaking:
adjacency_list::Digraph::add_arc
panics ifu
is not in the digraph. - Breaking:
adjacency_list::Digraph::add_arc
panics ifv
is not in the digraph. - Breaking:
adjacency_list_weighted::Digraph::add_arc_weighted
panics ifu
equalsv
. - Breaking:
adjacency_list_weighted::Digraph::add_arc_weighted
panics ifu
is not in the digraph. - Breaking:
adjacency_list_weighted::Digraph::add_arc_weighted
panics ifv
is not in the digraph. - Breaking:
adjacency_matrix::Digraph::add_arc
panics ifu
equalsv
. - Breaking:
adjacency_matrix::Digraph::toggle
panics ifu
equalsv
. - Change unit test
from_vec
foradjacency_matrix
to matchadjacency_list
. - Rename
*_eq_*
unit tests to*_equals_*
.
Fixed
- Fix documentation tests for
op::is_superdigraph
. - Fix documentation tests for
op::out_neighbors_weighted
.
Added
- Add unit test
acyclic_ordering_trivial
fordfs
. - Add unit test
dfsa_trivial
fordfs
. - Add unit test
strongly_connected_components_trivial
fortarjan
.
Added
- Add fixture
bang_jensen_196
foradjacency_list
. - Add unit test
strongly_connected_components_bang_jensen_196
foralgo::tarjan
.
Added
- Add
op::IsSpanningSubdigraph
to theREADME
. - Add
op::IsSpanningSubdigraph
tolib.rs
.
Added
- Add
op::IsSpanningSubdigraph
. - Add property test
biclique_is_spanning_subdigraph
foradjacency_list
. - Add property test
biclique_is_spanning_subdigraph
foradjacency_matrix
. - Add property test
circuit_is_spanning_subdigraph
foradjacency_list
. - Add property test
circuit_is_spanning_subdigraph
foradjacency_matrix
. - Add property test
complete_is_spanning_subdigraph
foradjacency_list
. - Add property test
complete_is_spanning_subdigraph
foradjacency_matrix
. - Add property test
cycle_is_spanning_subdigraph
foradjacency_list
. - Add property test
cycle_is_spanning_subdigraph
foradjacency_matrix
. - Add property test
empty_is_spanning_subdigraph
foradjacency_list
. - Add property test
empty_is_spanning_subdigraph
foradjacency_matrix
. - Add property test
random_tournament_is_spanning_subdigraph
foradjacency_list
. - Add property test
random_tournament_is_spanning_subdigraph
foradjacency_matrix
. - Add property test
star_is_spanning_subdigraph
foradjacency_list
. - Add property test
star_is_spanning_subdigraph
foradjacency_matrix
.
Added
- Add
algo::tarjan::strongly_connected_components
.
Added
- Add property test
cycle_complement_size
foradjacency_list
. - Add property test
cycle_complement_size
foradjacency_matrix
. - Add property test
cycle_degree_sequence
foradjacency_list
. - Add property test
cycle_degree_sequence
foradjacency_matrix
. - Add property test
cycle_degree_sum_eq_2size
foradjacency_list
. - Add property test
cycle_degree_sum_eq_2size
foradjacency_matrix
. - Add property test
cycle_degree
foradjacency_list
. - Add property test
cycle_degree
foradjacency_matrix
. - Add property test
cycle_even_number_odd_degrees
foradjacency_list
. - Add property test
cycle_even_number_odd_degrees
foradjacency_matrix
. - Add property test
cycle_indegree
foradjacency_list
. - Add property test
cycle_indegree
foradjacency_matrix
. - Add property test
cycle_is_balanced
foradjacency_list
. - Add property test
cycle_is_balanced
foradjacency_matrix
. - Add property test
cycle_is_complete
foradjacency_list
. - Add property test
cycle_is_complete
foradjacency_matrix
. - Add property test
cycle_is_isolated
foradjacency_list
. - Add property test
cycle_is_isolated
foradjacency_matrix
. - Add property test
cycle_is_oriented
foradjacency_list
. - Add property test
cycle_is_oriented
foradjacency_matrix
. - Add property test
cycle_is_pendant
foradjacency_list
. - Add property test
cycle_is_pendant
foradjacency_matrix
. - Add property test
cycle_is_regular
foradjacency_list
. - Add property test
cycle_is_regular
foradjacency_matrix
. - Add property test
cycle_is_semicomplete
foradjacency_list
. - Add property test
cycle_is_semicomplete
foradjacency_matrix
. - Add property test
cycle_is_simple
foradjacency_list
. - Add property test
cycle_is_simple
foradjacency_matrix
. - Add property test
cycle_is_sink
foradjacency_list
. - Add property test
cycle_is_sink
foradjacency_matrix
. - Add property test
cycle_is_source
foradjacency_list
. - Add property test
cycle_is_source
foradjacency_matrix
. - Add property test
cycle_is_subdigraph
foradjacency_list
. - Add property test
cycle_is_subdigraph
foradjacency_matrix
. - Add property test
cycle_is_superdigraph
foradjacency_list
. - Add property test
cycle_is_superdigraph
foradjacency_matrix
. - Add property test
cycle_is_symmetric
foradjacency_list
. - Add property test
cycle_is_symmetric
foradjacency_matrix
. - Add property test
cycle_is_tournament
foradjacency_list
. - Add property test
cycle_is_tournament
foradjacency_matrix
. - Add unit test
cycle_1_degree
foradjacency_list
. - Add unit test
cycle_1_degree
foradjacency_matrix
. - Add unit test
cycle_1_indegree
foradjacency_list
. - Add unit test
cycle_1_indegree
foradjacency_matrix
. - Add unit test
cycle_1_is_complete
foradjacency_list
. - Add unit test
cycle_1_is_complete
foradjacency_matrix
. - Add unit test
cycle_1_is_isolated
foradjacency_list
. - Add unit test
cycle_1_is_isolated
foradjacency_matrix
. - Add unit test
cycle_1_is_oriented
foradjacency_list
. - Add unit test
cycle_1_is_oriented
foradjacency_matrix
. - Add unit test
cycle_1_is_semicomplete
foradjacency_list
. - Add unit test
cycle_1_is_semicomplete
foradjacency_matrix
. - Add unit test
cycle_1_is_sink
foradjacency_list
. - Add unit test
cycle_1_is_sink
foradjacency_matrix
. - Add unit test
cycle_1_is_source
foradjacency_list
. - Add unit test
cycle_1_is_source
foradjacency_matrix
. - Add unit test
cycle_1_is_tournament
foradjacency_list
. - Add unit test
cycle_1_is_tournament
foradjacency_matrix
. - Add unit test
cycle_2_degree
foradjacency_list
. - Add unit test
cycle_2_degree
foradjacency_matrix
. - Add unit test
cycle_2_indegree
foradjacency_list
. - Add unit test
cycle_2_indegree
foradjacency_matrix
. - Add unit test
cycle_2_is_complete
foradjacency_list
. - Add unit test
cycle_2_is_complete
foradjacency_matrix
. - Add unit test
cycle_2_is_semicomplete
foradjacency_list
. - Add unit test
cycle_2_is_semicomplete
foradjacency_matrix
. - Add unit test
from_adjacency_list_isize
foradjacency_list_weighted
. - Add unit test
from_adjacency_list_usize
foradjacency_list_weighted
. - Add unit test
from_adjacency_list
foradjacency_matrix
. - Add unit test
from_adjacency_matrix_isize
foradjacency_list_weighted
. - Add unit test
from_adjacency_matrix_usize
foradjacency_list_weighted
. - Add unit test
from_vec
foradjacency_matrix
. - Implement
From<adjacency_list::Digraph>
foradjacency_list_weighted::Digraph<isize>
. - Implement
From<adjacency_list::Digraph>
foradjacency_list_weighted::Digraph<usize>
. - Implement
From<adjacency_list::Digraph>
foradjacency_matrix::Digraph
. - Implement
From<adjacency_matrix::Digraph>
foradjacency_list_weighted::Digraph<isize>
. - Implement
From<adjacency_matrix::Digraph>
foradjacency_list_weighted::Digraph<usize>
.
Added
- Add
Circuit
to theREADME
. - Add
Circuit
tolib.rs
.
Added
- Add a new
Cycle
trait that generates a bidirectional cycle. - Add unit test
biclique_1_1
foradjacency_list
. - Add unit test
biclique_1_1
foradjacency_matrix
. - Add unit test
biclique_1_2
foradjacency_list
. - Add unit test
biclique_1_2
foradjacency_matrix
. - Add unit test
biclique_2_1
foradjacency_list
. - Add unit test
biclique_2_1
foradjacency_matrix
. - Add unit test
biclique_2_2
foradjacency_list
. - Add unit test
biclique_2_2
foradjacency_matrix
. - Add unit test
circuit_1_degree_sequence
foradjacency_list
. - Add unit test
circuit_1_degree_sequence
foradjacency_matrix
. - Add unit test
circuit_1_degree
foradjacency_list
. - Add unit test
circuit_1_degree
foradjacency_matrix
. - Add unit test
circuit_1_is_sink
foradjacency_list
. - Add unit test
circuit_1_is_sink
foradjacency_matrix
. - Add unit test
circuit_1_is_source
foradjacency_list
. - Add unit test
circuit_1_is_source
foradjacency_matrix
. - Add unit test
circuit_1
foradjacency_list
. - Add unit test
circuit_1
foradjacency_matrix
. - Add unit test
circuit_2
foradjacency_list
. - Add unit test
circuit_2
foradjacency_matrix
. - Add unit test
circuit_3
foradjacency_list
. - Add unit test
circuit_3
foradjacency_matrix
. - Add unit test
complete_1
foradjacency_list
. - Add unit test
complete_1
foradjacency_matrix
. - Add unit test
complete_2
foradjacency_list
. - Add unit test
complete_2
foradjacency_matrix
. - Add unit test
complete_3
foradjacency_list
. - Add unit test
complete_3
foradjacency_matrix
. - Add unit test
cycle_1
foradjacency_list
. - Add unit test
cycle_1
foradjacency_matrix
. - Add unit test
cycle_2
foradjacency_list
. - Add unit test
cycle_2
foradjacency_matrix
. - Add unit test
cycle_3
foradjacency_list
. - Add unit test
cycle_3
foradjacency_matrix
. - Add unit test
cycle_degree_1
foradjacency_list
. - Add unit test
cycle_degree_1
foradjacency_matrix
. - Add unit test
cycle_degree_2
foradjacency_list
. - Add unit test
cycle_degree_2
foradjacency_matrix
. - Add unit test
empty_1
foradjacency_list
. - Add unit test
empty_1
foradjacency_matrix
. - Add unit test
empty_2
foradjacency_list
. - Add unit test
empty_2
foradjacency_matrix
. - Add unit test
empty_3
foradjacency_list
. - Add unit test
empty_3
foradjacency_matrix
. - Add unit test
star_1
foradjacency_list
. - Add unit test
star_1
foradjacency_matrix
. - Add unit test
star_2
foradjacency_list
. - Add unit test
star_2
foradjacency_matrix
. - Add unit test
star_3
foradjacency_list
. - Add unit test
star_3
foradjacency_matrix
.
Changed
- Breaking: Rename
Cycle
toCircuit
. - Breaking: Return a trivial digraph for
Circuit::circuit
forn = 1
. - Split
biclique
unit test intobiclique_1
, etc., inadjacency_list
. - Split
circuit
unit test intocircuit_1
, etc., inadjacency_list
. - Split
complete
unit test intocomplete_1
, etc., inadjacency_list
. - Split
cycle
unit test intocycle_1
, etc., inadjacency_list
.
Removed
- Remove unit test
circuit
foradjacency_list
. - Remove unit test
circuit
foradjacency_matrix
. - Remove unit test
complete
foradjacency_list
. - Remove unit test
complete
foradjacency_matrix
. - Remove unit test
cycle
foradjacency_list
. - Remove unit test
cycle
foradjacency_matrix
. - Remove unit test
empty
foradjacency_list
. - Remove unit test
empty
foradjacency_matrix
.
Added
- Add property test
biclique_complement_size
foradjacency_list
. - Add property test
biclique_complement_size
foradjacency_matrix
. - Add property test
complete_complement_eq_empty
foradjacency_list
. - Add property test
complete_complement_eq_empty
foradjacency_matrix
. - Add property test
cycle_complement_size
foradjacency_list
. - Add property test
cycle_complement_size
foradjacency_matrix
. - Add property test
empty_complement_eq_complete
foradjacency_list
. - Add property test
empty_complement_eq_complete
foradjacency_matrix
. - Add property test
star_complement_size
foradjacency_list
. - Add property test
star_complement_size
foradjacency_matrix
. - Add the
Complement
trait.
Changed
- Simplify documentation.
Changed
- Improve documentation consistency.
Changed
- Breaking:
is_regular
returns false if the indegree does not equal the outdegree.
Changed
- Misc. documentation improvements.
Added
- Add
Biclique::utility
. - Add
DistanceMatrix::periphery
. - Add unit test
biclique_utility
foradjacency_list
. - Add unit test
biclique_utility
foradjacency_matrix
. - Add unit test
center_trivial
forDistanceMatrix
. - Add unit test
diameter_trivial
forDistanceMatrix
. - Add unit test
eccentricities_trivial
forDistanceMatrix
. - Add unit test
is_connected_trivial
forDistanceMatrix
. - Add unit test
periphery_kattis_bryr_1
forDistanceMatrix
. - Add unit test
periphery_kattis_bryr_2
forDistanceMatrix
. - Add unit test
periphery_kattis_bryr_3
forDistanceMatrix
. - Add unit test
periphery_kattis_crosscountry
forDistanceMatrix
. - Add unit test
periphery_trivial
forDistanceMatrix
.
Changed
- Use
claw
instead ofbiclique()
inbiclique_claw
tests.
Added
- Add
Biclique::claw
. - Add unit test
biclique_claw
foradjacency_list
. - Add unit test
biclique_claw
foradjacency_matrix
. - Add unit test
empty_trivial
foradjacency_list_weighted
. - Add unit test
empty_trivial
foradjacency_list
. - Add unit test
empty_trivial
foradjacency_matrix
. - Add unit test
empty
foradjacency_list_weighted
.
Added
- Add property test
biclique_is_isolated
foradjacency_list
. - Add property test
biclique_is_isolated
foradjacency_matrix
. - Add property test
biclique_is_order
foradjacency_list
. - Add property test
biclique_is_order
foradjacency_matrix
. - Add property test
biclique_is_oriented
foradjacency_list
. - Add property test
biclique_is_oriented
foradjacency_matrix
. - Add property test
biclique_is_out_neighbors_weighted
foradjacency_list
. - Add property test
biclique_is_out_neighbors_weighted
foradjacency_matrix
. - Add property test
biclique_is_out_neighbors
foradjacency_list
. - Add property test
biclique_is_out_neighbors
foradjacency_matrix
. - Add property test
biclique_is_outdegree
foradjacency_list
. - Add property test
biclique_is_outdegree
foradjacency_matrix
. - Add property test
biclique_is_pendant
foradjacency_list
. - Add property test
biclique_is_pendant
foradjacency_matrix
. - Add property test
biclique_is_regular
foradjacency_list
. - Add property test
biclique_is_regular
foradjacency_matrix
. - Add property test
biclique_is_semicomplete
foradjacency_list
. - Add property test
biclique_is_semicomplete
foradjacency_matrix
. - Add property test
biclique_is_simple
foradjacency_list
. - Add property test
biclique_is_simple
foradjacency_matrix
. - Add property test
biclique_is_size
foradjacency_list
. - Add property test
biclique_is_size
foradjacency_matrix
. - Add property test
biclique_is_subdigraph
foradjacency_list
. - Add property test
biclique_is_subdigraph
foradjacency_matrix
. - Add property test
biclique_is_superdigraph
foradjacency_list
. - Add property test
biclique_is_superdigraph
foradjacency_matrix
. - Add property test
biclique_is_symmetric
foradjacency_list
. - Add property test
biclique_is_symmetric
foradjacency_matrix
. - Add property test
biclique_is_tournament
foradjacency_list
. - Add property test
biclique_is_tournament
foradjacency_matrix
. - Add unit test
biclique_0_1
foradjacency_list
. - Add unit test
biclique_0_1
foradjacency_matrix
. - Add unit test
biclique_1_0
foradjacency_list
. - Add unit test
biclique_1_0
foradjacency_matrix
. - Add unit test
biclique_1_1_is_complete
foradjacency_list
. - Add unit test
biclique_1_1_is_complete
foradjacency_matrix
. - Add unit test
biclique_1_1_is_semicomplete
foradjacency_list
. - Add unit test
biclique_1_1_is_semicomplete
foradjacency_matrix
. - Add unit test
biclique_1_2_is_complete
foradjacency_list
. - Add unit test
biclique_1_2_is_complete
foradjacency_matrix
. - Add unit test
biclique_1_2_is_semicomplete
foradjacency_list
. - Add unit test
biclique_1_2_is_semicomplete
foradjacency_matrix
. - Add unit test
biclique_2_1_is_complete
foradjacency_list
. - Add unit test
biclique_2_1_is_complete
foradjacency_matrix
. - Add unit test
biclique_2_1_is_semicomplete
foradjacency_list
. - Add unit test
biclique_2_1_is_semicomplete
foradjacency_matrix
. - Add unit test
biclique
foradjacency_list
. - Add unit test
biclique
foradjacency_matrix
.
Changed
- Breaking:
bellman_ford_moore::single_source_distances
is#[must_use]
. - Breaking:
bfs::single_source_distances
is#[must_use]
. - Breaking:
bfs::single_source_predecessors
is#[must_use]
. - Breaking:
bfs::shortest_path
is#[must_use]
. - Breaking:
bfs::single_pair_shortest_path
is#[must_use]
. - Breaking:
dfs::acyclic_ordering
is#[must_use]
. - Breaking:
dijkstra::single_source_distances
is#[must_use]
. - Breaking:
dijkstra::single_source_predecessors
is#[must_use]
. - Breaking:
dijkstra::shortest_path
is#[must_use]
. - Breaking:
dijkstra::single_pair_shortest_path
is#[must_use]
. - Breaking:
DistanceMatrix::new
is#[must_use]
. - Breaking:
DistanceMatrix::center
is#[must_use]
. - Breaking:
DistanceMatrix::diameter
is#[must_use]
. - Breaking:
DistanceMatrix::eccentricities
is#[must_use]
. - Breaking:
DistanceMatrix::is_connected
is#[must_use]
. - Breaking:
floyd_warshall::distances
is#[must_use]
. - Rename non
Empty
*_trivial
tests to*_1_*
. - Rename non
Empty
*_pair
tests to*_2_*
. - Rename non
Empty
*_triplet
tests to*_3_*
.
Added
- Add property test
biclique_has_arc
foradjacency_list
. - Add property test
biclique_has_arc
foradjacency_matrix
. - Add property test
biclique_has_edge
foradjacency_list
. - Add property test
biclique_has_edge
foradjacency_matrix
. - Add property test
biclique_in_neighbors
foradjacency_list
. - Add property test
biclique_in_neighbors
foradjacency_matrix
. - Add property test
biclique_indegree
foradjacency_list
. - Add property test
biclique_indegree
foradjacency_matrix
. - Add property test
biclique_is_balanced
foradjacency_list
. - Add property test
biclique_is_balanced
foradjacency_matrix
. - Add property test
biclique_is_complete
foradjacency_list
. - Add property test
biclique_is_complete
foradjacency_matrix
. - Add property test
biclique_out_neighbors
foradjacency_list
. - Add property test
biclique_out_neighbors
foradjacency_matrix
. - Add unit test
biclique_is_complete_trivial
foradjacency_list
. - Add unit test
biclique_is_complete_trivial
foradjacency_matrix
. - Add unit test
indegree_out_of_bounds
foradjacency_list_weighted
. - Add unit test
indegree_out_of_bounds
foradjacency_list
.
Changed
- Breaking:
indegree
panics ifv
is not in the digraph inadjacency_list_weighted
. - Breaking:
indegree
panics ifv
is not in the digraph inadjacency_list
.
Added
- Add property test
biclique_degree_sum_eq_2size
foradjacency_list
. - Add property test
biclique_degree_sum_eq_2size
foradjacency_matrix
. - Add property test
biclique_even_number_odd_degrees
foradjacency_list
. - Add property test
biclique_even_number_odd_degrees
foradjacency_matrix
. - Add property test
complete_degree_sum_eq_2size
foradjacency_list
. - Add property test
complete_degree_sum_eq_2size
foradjacency_matrix
. - Add property test
complete_even_number_odd_degrees
foradjacency_list
. - Add property test
complete_even_number_odd_degrees
foradjacency_matrix
. - Add property test
cycle_degree_sum_eq_2size
foradjacency_list
. - Add property test
cycle_degree_sum_eq_2size
foradjacency_matrix
. - Add property test
cycle_even_number_odd_degrees
foradjacency_list
. - Add property test
cycle_even_number_odd_degrees
foradjacency_matrix
. - Add property test
random_tournament_degree_sum_eq_2size
foradjacency_list
. - Add property test
random_tournament_degree_sum_eq_2size
foradjacency_matrix
. - Add property test
random_tournament_even_number_odd_degrees
foradjacency_list
. - Add property test
random_tournament_even_number_odd_degrees
foradjacency_matrix
. - Add property test
star_degree_sum_eq_2size
foradjacency_list
. - Add property test
star_degree_sum_eq_2size
foradjacency_matrix
. - Add property test
star_even_number_odd_degrees
foradjacency_list
. - Add property test
star_even_number_odd_degrees
foradjacency_matrix
.
Added
- Add property test
biclique_1_n_eq_star_n_plus_1
foradjacency_matrix
. - Add property test
biclique_degree_sequence
foradjacency_matrix
. - Add property test
biclique_degree
foradjacency_matrix
. - Add property test
biclique_order
foradjacency_matrix
. - Add property test
biclique_1_n_eq_star_n_plus_1
foradjacency_list
. - Add property test
biclique_degree_sequence
foradjacency_list
. - Add property test
biclique_degree
foradjacency_list
. - Add property test
biclique_order
foradjacency_list
.
Added
- Add unit test
biclique_m_zero
foradjacency_list
. - Add unit test
biclique_m_zero
foradjacency_matrix
. - Add unit test
biclique_n_zero
foradjacency_list
. - Add unit test
biclique_n_zero
foradjacency_matrix
.
Changed
- Breaking:
biclique
panics ifa
orb
is zero in the blanket implementation ofBiclique
.
Fixed
- Fix the description of
biclique
in the module documentation. - Use
m
andn
to describe the sizes of the biclique partitions.
Added
- Add documentation alias
Circular
forCycle
. - Add documentation alias
Edgeless
forEmpty
. - Add documentation alias
InDegree
forIndegree
. - Add documentation alias
Isograph
forIsBalanced
. - Add documentation alias
OutDegree
forOutdegree
. - Add documentation alias
PseudoSymmetric
forIsBalanced
. - Add documentation alias
Valence
forDegree
. - Add documentation alias
Valency
forDegree
. - Add documentation alias
circular
forCycle::cycle
. - Add documentation alias
edgeless
forEmpty::empty
. - Add documentation alias
in_degree
forIndegree::indegree
. - Add documentation alias
in_neighbours
forInNeighbors::in_neighbors
. - Add documentation alias
isograph
forIsBalanced::is_balanced
. - Add documentation alias
out_degree
forOutdegree::outdegree
. - Add documentation alias
out_neighbours_weighted
forOutNeighborsWeighted::out_neighbors_weighted
. - Add documentation alias
out_neighbours
forOutNeighbors::out_neighbors
. - Add documentation alias
pseudo_symmetric
forIsBalanced::is_balanced
. - Add documentation alias
valence
forDegree::degree
. - Add documentation alias
valence
fordegree
. - Add documentation alias
valency
forDegree::degree
. - Add the
gen::Biclique
trait. - Add the
gen::Star
trait to theREADME
. - Add the
gen::Star
trait to thelib.rs
. - Document arguments for
HasEdge::has_edge
. - Document arguments for
IsIsolated::is_isolated
. - Document arguments for
IsPendant::is_pendant
. - Document arguments for
IsSubdigraph::is_subdigraph
. - Document arguments for
IsSuperdigraph::is_superdigraph
. - Document arguments for
IsWalk::is_walk
.
Changed
- Breaking: Make
ArcWeight::arc_weight
#[must_use]
. - Breaking: Make
Arcs::arcs
#[must_use]
. - Breaking: Make
ArcsWeighted::arcs_weighted
#[must_use]
. - Breaking: Make
Degree::degree
#[must_use]
. - Breaking: Make
DegreeSequence::degree_sequence
#[must_use]
. - Breaking: Make
HasArc::has_arc
#[must_use]
. - Breaking: Make
HasEdge::has_edge
#[must_use]
. - Breaking: Make
InNeighbors::in_neighbors
#[must_use]
. - Breaking: Make
Indegree::indegree
#[must_use]
. - Breaking: Make
IsBalanced::is_balanced
#[must_use]
. - Breaking: Make
IsComplete::is_complete
#[must_use]
. - Breaking: Make
IsIsolated::is_isolated
#[must_use]
. - Breaking: Make
IsOriented::is_oriented
#[must_use]
. - Breaking: Make
IsPendant::is_pendant
#[must_use]
. - Breaking: Make
IsRegular::is_regular
#[must_use]
. - Breaking: Make
IsSemicomplete::is_semicomplete
#[must_use]
. - Breaking: Make
IsSimple::is_simple
#[must_use]
. - Breaking: Make
IsSink::is_sink
#[must_use]
. - Breaking: Make
IsSource::is_source
#[must_use]
. - Breaking: Make
IsSubdigraph::is_subdigraph
#[must_use]
. - Breaking: Make
IsSuperdigraph::is_superdigraph
#[must_use]
. - Breaking: Make
IsSymmetric::is_symmetric
#[must_use]
. - Breaking: Make
IsTournament::is_tournament
#[must_use]
. - Breaking: Make
IsWalk::is_walk
#[must_use]
. - Breaking: Make
Order::order
#[must_use]
. - Breaking: Make
OutNeighborsWeighted::out_neighbors_weighted
#[must_use]
. - Breaking: Make
OutNeighbors::out_neighbors
#[must_use]
. - Breaking: Make
Outdegree::outdegree
#[must_use]
. - Breaking: Make
RemoveArc::remove_arc
#[must_use]
. - Breaking: Make
Size::size
#[must_use]
. - Breaking: Make
Star::star
#[must_use]
. - Breaking: Make
Vertices::vertices
#[must_use]
. - Move module doc aliases under the module doc.
Fixed
- Change documentation alias
weighted_out_neighbors
toout_neighbors_weighted
. - Change documentation alias
IterOutNeighbours
toOutNeighbours
.
Added
- Add
star_degree_sequence
unit test foradjacency_list
. - Add
star_degree_sequence
unit test foradjacency_matrix
. - Add
star_degree
unit test foradjacency_list
. - Add
star_degree
unit test foradjacency_matrix
. - Add
star_has_edge
unit test foradjacency_list
. - Add
star_has_edge
unit test foradjacency_matrix
. - Add
star_indegree
unit test foradjacency_list
. - Add
star_indegree
unit test foradjacency_matrix
. - Add
star_is_balanced_pair
unit test foradjacency_list
. - Add
star_is_balanced_pair
unit test foradjacency_matrix
. - Add
star_is_balanced_trivial
unit test foradjacency_list
. - Add
star_is_balanced_trivial
unit test foradjacency_matrix
. - Add
star_is_balanced
prop test foradjacency_list
. - Add
star_is_balanced
prop test foradjacency_matrix
. - Add
star_is_complete_pair
unit test foradjacency_list
. - Add
star_is_complete_pair
unit test foradjacency_matrix
. - Add
star_is_complete_trivial
unit test foradjacency_list
. - Add
star_is_complete_trivial
unit test foradjacency_matrix
. - Add
star_is_complete
prop test foradjacency_list
. - Add
star_is_complete
prop test foradjacency_matrix
. - Add
star_is_isolated_trivial
unit test foradjacency_list
. - Add
star_is_isolated_trivial
unit test foradjacency_matrix
. - Add
star_is_isolated
prop test foradjacency_list
. - Add
star_is_isolated
prop test foradjacency_matrix
. - Add
star_is_oriented_trivial
unit test foradjacency_list
. - Add
star_is_oriented_trivial
unit test foradjacency_matrix
. - Add
star_is_oriented
prop test foradjacency_list
. - Add
star_is_oriented
prop test foradjacency_matrix
. - Add
star_is_pendant
prop test foradjacency_list
. - Add
star_is_pendant
prop test foradjacency_matrix
. - Add
star_is_regular_pair
unit test foradjacency_list
. - Add
star_is_regular_pair
unit test foradjacency_matrix
. - Add
star_is_regular_trivial
unit test foradjacency_list
. - Add
star_is_regular_trivial
unit test foradjacency_matrix
. - Add
star_is_regular
prop test foradjacency_list
. - Add
star_is_regular
prop test foradjacency_matrix
. - Add
star_is_semicomplete_pair
unit test foradjacency_list
. - Add
star_is_semicomplete_pair
unit test foradjacency_matrix
. - Add
star_is_semicomplete_trivial
unit test foradjacency_list
. - Add
star_is_semicomplete_trivial
unit test foradjacency_matrix
. - Add
star_is_semicomplete
prop test foradjacency_list
. - Add
star_is_semicomplete
prop test foradjacency_matrix
. - Add
star_is_simple
prop test foradjacency_list
. - Add
star_is_simple
prop test foradjacency_matrix
. - Add
star_is_sink_trivial
unit test foradjacency_list
. - Add
star_is_sink_trivial
unit test foradjacency_matrix
. - Add
star_is_sink
prop test foradjacency_list
. - Add
star_is_sink
prop test foradjacency_matrix
. - Add
star_is_source_trivial
unit test foradjacency_list
. - Add
star_is_source_trivial
unit test foradjacency_matrix
. - Add
star_is_source
prop test foradjacency_list
. - Add
star_is_source
prop test foradjacency_matrix
. - Add
star_is_subdigraph
prop test foradjacency_list
. - Add
star_is_subdigraph
prop test foradjacency_matrix
. - Add
star_is_superdigraph
prop test foradjacency_list
. - Add
star_is_superdigraph
prop test foradjacency_matrix
. - Add
star_is_symmetric
prop test foradjacency_list
. - Add
star_is_symmetric
prop test foradjacency_matrix
. - Add
star_is_tournament_trivial
unit test foradjacency_list
. - Add
star_is_tournament_trivial
unit test foradjacency_matrix
. - Add
star_is_tournament
prop test foradjacency_list
. - Add
star_is_tournament
prop test foradjacency_matrix
. - Add naming conventions to
lib.rs
. - Add project goals to
lib.rs
. - Add the
gen::Star
trait.
Added
- Add unit test
add_arc_out_of_bounds_u
foradjacency_matrix
. - Add unit test
add_arc_out_of_bounds_v
foradjacency_matrix
. - Add unit test
add_arc_out_of_bounds
foradjacency_list_weighted
. - Add unit test
add_arc_out_of_bounds
foradjacency_list
. - Add unit test
converse_order_zero
foradjacency_list_weighted
. - Add unit test
converse_order_zero
foradjacency_list
. - Add unit test
converse_order_zero
foradjacency_matrix
. - Add unit test
empty_order_zero
foradjacency_list_matrix
. - Add unit test
empty_order_zero
foradjacency_list_weighted
. - Add unit test
empty_order_zero
foradjacency_list
. - Add unit test
indegree_out_of_bounds
foradjacency_matrix
. - Add unit test
out_neighbors_out_of_bounds
foradjacency_list_weighted
. - Add unit test
out_neighbors_out_of_bounds
foradjacency_list
. - Add unit test
out_neighbors_out_of_bounds
foradjacency_matrix
. - Add unit test
out_neighbors_weighted_out_of_bounds
foradjacency_list_weighted
. - Add unit test
out_neighbors_weighted_out_of_bounds
foradjacency_list
. - Add unit test
out_neighbors_weighted_out_of_bounds
foradjacency_matrix
. - Add unit test
outdegree_out_of_bounds
foradjacency_list_weighted
. - Add unit test
outdegree_out_of_bounds
foradjacency_list
. - Add unit test
outdegree_out_of_bounds
foradjacency_matrix
. - Add unit test
remove_arc_out_of_bounds
foradjacency_list_weighted
. - Add unit test
remove_arc_out_of_bounds
foradjacency_list
. - Add unit test
remove_arc_out_of_bounds
foradjacency_matrix
.
Changed
- Breaking:
Complete::complete
is#[must_use]
. - Breaking:
remove_arc
no longer panics foradjacency_matrix
ifu
orv
is not in the digraph.
Added
- Add property test
empty_is_tournament
foradjacency_list_weighted
. - Add unit test
empty_is_tournament_trivial
foradjacency_list_weighted
. - Add unit test
empty_is_tournament_trivial
foradjacency_matrix_weighted
. - Add unit test
is_tournament_bang_jensen_34
foradjacency_list
. - Add unit test
is_tournament_bang_jensen_34
foradjacency_matrix
. - Add unit test
is_tournament_bang_jensen_94_weighted
foradjacency_list_weighted
. - Add unit test
is_tournament_bang_jensen_94
foradjacency_list
. - Add unit test
is_tournament_bang_jensen_94
foradjacency_matrix
. - Add unit test
is_tournament_bang_jensen_96
foradjacency_list_weighted
. - Add unit test
is_tournament_bang_jensen_99
foradjacency_list_weighted
. - Add unit test
is_tournament_kattis_bryr_1
foradjacency_list_weighted
. - Add unit test
is_tournament_kattis_bryr_2
foradjacency_list_weighted
. - Add unit test
is_tournament_kattis_bryr_3
foradjacency_list_weighted
. - Add unit test
is_tournament_kattis_builddeps
foradjacency_list
. - Add unit test
is_tournament_kattis_builddeps
foradjacency_matrix
. - Add unit test
is_tournament_kattis_crosscountry
foradjacency_list_weighted
. - Add unit test
is_tournament_kattis_escapewallmaria_1
foradjacency_list
. - Add unit test
is_tournament_kattis_escapewallmaria_1
foradjacency_matrix
. - Add unit test
is_tournament_kattis_escapewallmaria_2
foradjacency_list
. - Add unit test
is_tournament_kattis_escapewallmaria_2
foradjacency_matrix
. - Add unit test
is_tournament_kattis_escapewallmaria_3
foradjacency_list
. - Add unit test
is_tournament_kattis_escapewallmaria_3
foradjacency_matrix
. - Add unit test
is_tournament_kattis_shortestpath1
foradjacency_list_weighted
.
Added
- Add property test
complete_is_tournament
foradjacency_list
. - Add property test
complete_is_tournament
foradjacency_matrix
. - Add property test
cycle_is_tournament
foradjacency_list
. - Add property test
cycle_is_tournament
foradjacency_matrix
. - Add property test
empty_is_tournament
foradjacency_list
. - Add property test
empty_is_tournament
foradjacency_matrix
. - Add property test
random_tournament_is_tournament
foradjacency_list
. - Add property test
random_tournament_is_tournament
foradjacency_matrix
. - Add unit test
complete_is_tournament_trivial
foradjacency_list
. - Add unit test
complete_is_tournament_trivial
foradjacency_matrix
. - Add unit test
cycle_is_tournament_pair
foradjacency_list
. - Add unit test
cycle_is_tournament_pair
foradjacency_matrix
. - Add unit test
cycle_is_tournament_triple
foradjacency_list
. - Add unit test
cycle_is_tournament_triple
foradjacency_matrix
. - Add unit test
cycle_is_tournament_trivial
foradjacency_list
. - Add unit test
cycle_is_tournament_trivial
foradjacency_matrix
.
- Add property test
random_tournament_degree_sequence
foradjacency_list
. - Add property test
random_tournament_degree_sequence
foradjacency_matrix
.
Added
- Add property test
complete_degree_sequence
foradjacency_list
. - Add property test
complete_degree_sequence
foradjacency_matrix
. - Add property test
cycle_degree_sequence
foradjacency_list
. - Add property test
cycle_degree_sequence
foradjacency_matrix
. - Add property test
empty_degree_sequence
foradjacency_list
. - Add property test
empty_degree_sequence
foradjacency_matrix
.
Fixed
- Apply internal naming conventions.
Added
- Add unit test
new
forpredecessor_tree::PredecessorTree
. - Add unit test
new_zero
forpredecessor_tree::PredecessorTree
.
Changed
- Apply internal naming conventions in
adjacency_list_weighted
. - Apply internal naming conventions in
adjacency_matrix
. - Apply internal naming conventions in
gen
. - Apply internal naming conventions in
op
. - Misc. improvements to the API documentation.
Fixed
- Fix the
DegreeSequence
link in theREADME
.
Fixed
- Fix the
DegreeSequence
description inlib.rs
.
Added
- Add
DegreeSequence
to theREADME
and thelib.rs
documentation.
Added
- Add documentation alias
centre
forDistanceMatrix::center
. - Add documentation alias
jordan_centre
forDistanceMatrix::center
. - Add naming conventions to the
README
. - Add the
DegreeSequence
trait. - Implement and test
DegreeSequence
foradjacency_list_weighted
. - Implement and test
DegreeSequence
foradjacency_list
. - Implement and test
DegreeSequence
foradjacency_matrix
.
Changed
- Apply internal naming conventions in
adjacency_list
. - Use
super
inop
imports.
Changed
- Improve the length of the project overview descriptions.
Changed
- Improve the readability of the project overview.
Fixed
- Remove extraneous words from the documentation.
Removed
- Remove implementation tables in
README
. - Remove implementation tables in
lib.rs
.
Changed
- Improve documentation for the
Complete
trait. - Improve documentation for the
RandomTournament
trait.
Added
- Add unit test
bellman_ford_moore::single_source_distances_kattis_shortestpath3
.
Changed
- Misc. improvements to the
README
.
Changed
- Improve the
README
project overview.
Added
- Add project overview to README.
- Complete
adjacency_matrix
tests.
Added
- Add project overview to
lib.rs
. - Implement
ArcsWeighted
foradjacency_matrix
. - Implement
Converse
foradjacency_matrix
. - Implement
OutNeighborsWeighted
foradjacency_list
. - Implement
OutNeighborsWeighted
foradjacency_matrix
.
Changed
- Order trait bounds alphabetically.
Removed
- Remove documentation references to deprecated benchmarks.
This update is big. Users will find that I changed the entire API except for traits and algorithms. Analyzing the digraph op
and gen
implementations for the standard library collections, I settled on two main digraph representations:
adjacency_list
adjacency_list_weighted
These representations offer a good balance between performance and ergonomics. All applicable traits are implemented and tested for these representations. The adjacency_matrix
representation is still available for dense unweighted digraphs, but blocks are now stored in a Vec
instead of an array.
The next minor release will add a user guide to the documentation.
Added
- Add and test
DistanceMatrix::is_connected
.
Changed
- Breaking: Fixtures are
cfg(test)
.
Changed
- Test
DistanceMatrix
with existing fixtures.
Added
- Add documentation alias
jordan_center
forDistanceMatrix::center
. - Add
DistanceMatrix::diameter
.
Changed
- Clean up
prop
modules.
Added
- Add and test
DistanceMatrix::eccentricities
. - Add unit test
center
forDistanceMatrix
. - Base
DistanceMatrix::center
onDistanceMatrix::eccentricities
.
Changed
- Breaking:
DistanceMatrix::new
panics ifv
is zero. - Rename
distance_matrix::tests::test_index_mut
todistance_matrix::tests::index_mut
. - Rename
distance_matrix::tests::test_index
todistance_matrix::tests::index
. - Rename
distance_matrix::tests::test_new
todistance_matrix::tests::new
.
Fixed
- Fix
distance_matrix::tests::test_new
. - Fix
distance_matrix::tests::test_index
.
Added
- Add
DistanceMatrix::center
.
Added
- Add
DistanceMatrix
data structure. - Implement and test
DistanceMatrix::new
. - Implement and test
Index<usize>
forDistanceMatrix
. - Implement and test
IndexMut<usize>
forDistanceMatrix
.
Changed
- Breaking: Rename
BfTree
toPredecessorTree
. - Breaking: Rename
bf_tree
topredecessor_tree
. - Breaking:
FloydWarshall::distances
returns aDistanceMatrix
.
Added
- Add unit test
index_mut
forBfTree
. - Add unit test
index
forBfTree
. - Add unit test
search_by_cycle
forBfTree
. - Add unit test
search_by_no_path
forBfTree
. - Add unit test
search_by_path_s_eq_t
forBfTree
. - Add unit test
search_by_path_s_ne_t
forBfTree
. - Add unit test
search_by_singleton_s_eq_t
forBfTree
. - Add unit test
search_by_singleton_s_ne_t
forBfTree
. - Add unit test
search_cycle
forBfTree
. - Add unit test
search_no_path
forBfTree
. - Add unit test
search_path_s_eq_t
forBfTree
. - Add unit test
search_path_s_ne_t
forBfTree
. - Add unit test
search_singleton_s_eq_t
forBfTree
. - Add unit test
search_singleton_s_ne_t
forBfTree
.
Changed
- Breaking: Rename
BfsTree
toBfTree
. - Breaking:
BfTree::new
panics ifv
is zero. - Breaking:
BfTree::search_by
immediately returns ifs
is a target. - Breaking:
BfTree::search
immediately returns ifs
equalst
.
Added
- Add
BfsTree
data structure. - Implement
BfsTree::new
. - Implement
BfsTree::search_by
. - Implement
BfsTree::search
. - Implement
From<Vec<Option<usize>>>
forBfsTree
. - Implement
Index<usize>
forBfsTree
. - Implement
IndexMut<usize>
forBfsTree
. - Implement
IntoIterator
forBfsTree
.
Changed
- Breaking:
bfs::predecessors
accepts aBfsTree
instead of aVec<Option<usize>>
. - Breaking:
bfs::shortest_path
accepts aBfsTree
instead of aVec<Option<usize>>
. - Breaking:
bfs::single_source_predecessors
returns aBfsTree
. - Breaking:
dijkstra::predecessors
accepts aBfsTree
instead of aVec<Option<usize>>
. - Breaking:
dijkstra::shortest_path
accepts aBfsTree
instead of aVec<Option<usize>>
. - Breaking:
dijkstra::single_source_predecessors
returns aBfsTree
.
Removed
- Breaking: Remove
algo::predecessor
.
Added
- Implement
Size
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
Size
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
Size
forBTreeMap<usize, Vec<usize>>
. - Implement
Size
forHashMap<usize, HashMap<usize, W>>
. - Implement
Size
forHashMap<usize, HashSet<usize>>
. - Implement
Size
forHashMap<usize, Vec<usize>>
. - Implement
Size
forVec<BTreeMap<usize, W>>
. - Implement
Size
forVec<BTreeSet<usize>>
. - Implement
Size
forVec<HashMap<usize, W>>
. - Implement
Size
forVec<HashSet<usize>>
. - Implement
Size
forVec<Vec<usize>>
. - Implement
Size
for[BTreeMap<usize, W>; V]
. - Implement
Size
for[BTreeMap<usize, W>]
. - Implement
Size
for[BTreeSet<usize>; V]
. - Implement
Size
for[BTreeSet<usize>]
. - Implement
Size
for[HashMap<usize, W>; V]
. - Implement
Size
for[HashMap<usize, W>]
. - Implement
Size
for[HashSet<usize>; V]
. - Implement
Size
for[HashSet<usize>]
. - Implement
Size
for[Vec<usize>; V]
. - Implement
Size
for[Vec<usize>]
.
Removed
- Breaking: Remove the implementation of
Converse
forBTreeMap<usize, BTreeSet<(usize, W)>>
. - Breaking: Remove the implementation of
Converse
forBTreeMap<usize, Vec<(usize, W)>>
. - Breaking: Remove the implementation of
Converse
forHashMap<usize, HashSet<(usize, W)>>
. - Breaking: Remove the implementation of
Converse
forHashMap<usize, Vec<(usize, W)>>
. - Breaking: Remove the implementation of
Converse
forVec<BTreeSet<(usize, W)>>
. - Breaking: Remove the implementation of
Converse
forVec<HashSet<(usize, W)>>
. - Breaking: Remove the implementation of
Converse
forVec<Vec<(usize, W)>>
. - Breaking: Remove the implementation of
Size
forBTreeMap<K, BTreeMap<K, W>>
. - Breaking: Remove the implementation of
Size
forBTreeMap<K, BTreeSet<W>>
. - Breaking: Remove the implementation of
Size
forBTreeMap<K, Vec<T>>
. - Breaking: Remove the implementation of
Size
forHashMap<K, HashMap<K, W>>
. - Breaking: Remove the implementation of
Size
forHashMap<K, HashSet<W>>
. - Breaking: Remove the implementation of
Size
forHashMap<K, Vec<T>>
. - Breaking: Remove the implementation of
Size
forVec<BTreeMap<K, W>>
. - Breaking: Remove the implementation of
Size
forVec<BTreeSet<T>>
. - Breaking: Remove the implementation of
Size
forVec<HashMap<K, W>>
. - Breaking: Remove the implementation of
Size
forVec<HashSet<T>>
. - Breaking: Remove the implementation of
Size
forVec<Vec<T>>
. - Breaking: Remove the implementation of
Size
for[BTreeMap<K, W>; V]
. - Breaking: Remove the implementation of
Size
for[BTreeMap<K, W>]
. - Breaking: Remove the implementation of
Size
for[BTreeSet<T>; V]
. - Breaking: Remove the implementation of
Size
for[BTreeSet<T>]
. - Breaking: Remove the implementation of
Size
for[HashMap<K, W>; V]
. - Breaking: Remove the implementation of
Size
for[HashMap<K, W>]
. - Breaking: Remove the implementation of
Size
for[HashSet<T>; V]
. - Breaking: Remove the implementation of
Size
for[HashSet<T>]
. - Breaking: Remove the implementation of
Size
for[Vec<T>; V]
. - Breaking: Remove the implementation of
Size
for[Vec<T>]
. - Remove property test
size_btree_map_btree_set_weighted
forempty
. - Remove property test
size_btree_map_vec_weighted
forempty
. - Remove property test
size_hash_map_hash_set_weighted
forempty
. - Remove property test
size_hash_map_vec_weighted
forempty
. - Remove property test
size_vec_btree_set_weighted
forempty
. - Remove property test
size_vec_hash_set_weighted
forempty
. - Remove property test
size_vec_vec_weighted
forempty
. - Remove the
crosscountry
benchmark. - Remove the
shortestpath1
benchmark. - Remove unit test
size_arr_btree_set_weighted
forempty_const
. - Remove unit test
size_arr_hash_set_weighted
forempty_const
. - Remove unit test
size_arr_vec_weighted
forempty_const
.
Added
- Add benchmark
add_arc::slice_btree_set
. - Add benchmark
add_arc::slice_hash_set
. - Add benchmark
add_arc::slice_vec
. - Add benchmark
add_arc::vec_tuple
. - Mention
add_arc
benchmark inop::add_arc
documentation.
Changed
- Use randomly generated arcs in
add_arc
benchmarks.
Added
- Add documentation alias
IterInNeighbors
forIterInNeighbours
. - Add documentation alias
IterOutNeighborsMut
forIterOutNeighboursMut
. - Add documentation alias
IterOutNeighbors
forIterOutNeighbours
. - Add documentation alias
IterWeightedOutNeighbors
forIterWeightedOutNeighbours
. - Add documentation alias
iter_in_neighbors
foriter_in_neighbours
. - Add documentation alias
iter_out_neighbors_mut
foriter_out_neighbours_mut
. - Add documentation alias
iter_out_neighbors
foriter_out_neighbours
. - Add documentation alias
iter_weighted_out_neighbors
foriter_weighted_out_neighbours
. - Add script
version.sh
to change the version inCargo.toml
andREADME.md
.
Added
- Add example usage in the implementation example for
IterOutNeighbors
. - Add the
IterInNeighbors
trait. - Add unit test
arr_btree_set
forIterInNeighbors
. - Add unit test
arr_hash_set
forIterInNeighbors
. - Add unit test
arr_vec
forIterInNeighbors
. - Add unit test
btree_map_btree_set
forIterInNeighbors
. - Add unit test
btree_map_vec
forIterInNeighbors
. - Add unit test
btree_set_tuple
forIterInNeighbors
. - Add unit test
hash_map_hash_set
forIterInNeighbors
. - Add unit test
hash_map_vec
forIterInNeighbors
. - Add unit test
hash_set_tuple
forIterInNeighbors
. - Add unit test
slice_btree_set
forIterInNeighbors
. - Add unit test
slice_hash_set
forIterInNeighbors
. - Add unit test
slice_tuple
forIterInNeighbors
. - Add unit test
slice_vec
forIterInNeighbors
. - Add unit test
vec_btree_set
forIterInNeighbors
. - Add unit test
vec_hash_set
forIterInNeighbors
. - Add unit test
vec_tuple
forIterInNeighbors
. - Add unit test
vec_vec
forIterInNeighbors
. - Implement
IterInNeighbors
forIterArcs
. - Implement and test
EmptyConst
forBTreeSet<(usize, usize)>
. - Implement and test
EmptyConst
forBTreeSet<(usize, usize, W)>
. - Implement and test
EmptyConst
forHashSet<(usize, usize)>
. - Implement and test
EmptyConst
forHashSet<(usize, usize, W)>
. - Implement and test
EmptyConst
forVec<(usize, usize)>
. - Implement and test
EmptyConst
forVec<(usize, usize, W)>
. - Implement and test
IterOutNeighbors
forBTreeSet<(usize, usize)>
. - Implement and test
IterOutNeighbors
forBTreeSet<(usize, usize, W)>
. - Implement and test
IterOutNeighbors
forHashSet<(usize, usize)>
. - Implement and test
IterOutNeighbors
forHashSet<(usize, usize, W)>
. - Implement and test
IterOutNeighbors
forVec<(usize, usize)>
. - Implement and test
IterOutNeighbors
forVec<(usize, usize, W)>
. - Implement and test
IterOutNeighbors
for[(usize, usize); V]
. - Implement and test
IterOutNeighbors
for[(usize, usize)]
. - Implement and test
IterOutNeighbors
for[(usize, usize, W); V]
. - Implement and test
IterOutNeighbors
for[(usize, usize, W)]
.
Changed
- Implement
Complete
forHashSet<(usize, usize)>
withEmptyConst
. - Implement
Complete
forVec<(usize, usize)>
withEmptyConst
. - Implement
Complete
forVec<(usize, usize)>
withEmptyConst
. - Implement
Cycle
forBTreeSet<(usize, usize)>
withEmptyConst
. - Implement
Cycle
forBTreeSet<(usize, usize)>
withEmptyConst
. - Implement
Cycle
forHashSet<(usize, usize)>
withEmptyConst
. - Implement
RandomTournament
forBTreeSet<(usize, usize)>
withEmptyConst
. - Implement
RandomTournament
forBTreeSet<(usize, usize)>
withEmptyConst
. - Implement
RandomTournament
forHashSet<(usize, usize)>
withEmptyConst
. - Use digraphs in
iter_out_neighbors
tests that better demonstrate the trait.
Removed
- Breaking: Remove
Empty
implementation forBTreeSet<(usize, usize)>
. - Breaking: Remove
Empty
implementation forBTreeSet<(usize, usize, W)>
. - Breaking: Remove
Empty
implementation forHashSet<(usize, usize)>
. - Breaking: Remove
Empty
implementation forHashSet<(usize, usize, W)>
. - Breaking: Remove
Empty
implementation forVec<(usize, usize)>
. - Breaking: Remove
Empty
implementation forVec<(usize, usize, W)>
. - Remove
clippy::std_instead_of_core
lint.
Added
- Add fixture
kattis_escapewallmaria_1
. - Add fixture
kattis_escapewallmaria_2
. - Add fixture
kattis_escapewallmaria_3
. - Add unit test
distances_kattis_escapewallmaria_1
. - Add unit test
distances_kattis_escapewallmaria_2
. - Add unit test
distances_kattis_escapewallmaria_3
. - Add unit test
predecessors_kattis_escapewallmaria_1
. - Add unit test
predecessors_kattis_escapewallmaria_2
. - Add unit test
predecessors_kattis_escapewallmaria_3
. - Add unit test
shortest_path_kattis_escapewallmaria_1
. - Add unit test
shortest_path_kattis_escapewallmaria_2
. - Add unit test
shortest_path_kattis_escapewallmaria_3
.
Fixed
- Breaking: Return early in
bfs::shortest_path
if the source is the target. - Breaking: Return early in
bfs::single_pair_shortest_path
if the source is the target.
Changed
- Unify test setup.
Added
- Add benchmark
add_arc::btree_set_tuple
. - Add benchmark
add_arc::hash_set_tuple
.
Changed
- Use ACM citation style for fixture titles.
- Use ACM citation style for citations.
Added
- Add
fixture::kattis_builddeps
. - Add unit test
acyclic_ordering_kattis_builddeps
fordfs::acyclic_ordering
. - Add unit test
dfsa_kattis_builddeps
fordfs::acyclic_ordering
. - Add unit test
dfsa_predecessors_kattis_builddeps
fordfs::acyclic_ordering
.
Fixed
- Fix citations.
Added
- Add
dfs::acyclic_ordering
. - Add
dfs::dfsa_predecessors
. - Add
dfs::dfsa
.
Changed
- Calculate order once in
bfs::single_pair_shortest_path
. - Calculate order once in
bfs::single_source_predecessors
. - Clean up and unify the
algo
documentation examples.
Changed
- Pass ident to macros in unit tests for
AddArc
. - Pass ident to macros in unit tests for
AddWeightedArc
. - Use
std
instead ofalloc
.
Added
- Implement and test
ArcWeight
forBTreeMap<usize, BTreeSet<usize>>
. - Implement and test
ArcWeight
forBTreeSet<(usize, usize)>
. - Implement and test
ArcWeight
forHashMap<usize, HashSet<usize>>
. - Implement and test
ArcWeight
forHashSet<(usize, usize)>
. - Implement and test
ArcWeight
forVec<BTreeSet<usize>>
. - Implement and test
ArcWeight
forVec<HashSet<usize>>
. - Implement and test
ArcWeight
for[BTreeSet<usize>; V]
. - Implement and test
ArcWeight
for[BTreeSet<usize>]
. - Implement and test
ArcWeight
for[HashSet<usize>; V]
. - Implement and test
ArcWeight
for[HashSet<usize>]
.
Changed
- Breaking:
AdjacencyMatrix::empty
panics ifV
is zero.
Added
- Implement and test
ArcWeight
forAdjacencyMatrix
. - Implement and test
CycleConst
forAdjacencyMatrix
. - Implement and test
EmptyConst
forAdjacencyMatrix
.
Added
- Add assertions to the
IsComplete
implementation documentation test. - Add the
IsSemicomplete
trait. - Add unit test
arr_btree_set_complete
forIsSemicomplete
. - Add unit test
arr_btree_set_cycle
forIsSemicomplete
. - Add unit test
arr_btree_set_empty
forIsSemicomplete
. - Add unit test
arr_btree_set_random_tournament
forIsSemicomplete
. - Add unit test
arr_hash_set_complete
forIsSemicomplete
. - Add unit test
arr_hash_set_cycle
forIsSemicomplete
. - Add unit test
arr_hash_set_empty
forIsSemicomplete
. - Add unit test
arr_hash_set_random_tournament
forIsSemicomplete
. - Add unit test
vec_btree_set_complete
forIsSemicomplete
. - Add unit test
vec_btree_set_cycle
forIsSemicomplete
. - Add unit test
vec_btree_set_empty
forIsSemicomplete
. - Add unit test
vec_btree_set_random_tournament
forIsSemicomplete
. - Add unit test
vec_hash_set_complete
forIsSemicomplete
. - Add unit test
vec_hash_set_cycle
forIsSemicomplete
. - Add unit test
vec_hash_set_empty
forIsSemicomplete
. - Add unit test
vec_hash_set_random_tournament
forIsSemicomplete
. - Assert that
Empty
digraphs are not complete in theis_complete
documentation test. - Assert that
RandomTournament
digraphs are not complete in theis_complete
documentation test.
Added
- Add unit test
arr_btree_set_empty
forIsComplete
. - Add unit test
arr_btree_set_random_tournament
forIsComplete
. - Add unit test
arr_hash_set_empty
forIsComplete
. - Add unit test
arr_hash_set_random_tournament
forIsComplete
. - Add unit test
vec_btree_set_empty
forIsComplete
. - Add unit test
vec_btree_set_random_tournament
forIsComplete
. - Add unit test
vec_hash_set_empty
forIsComplete
. - Add unit test
vec_hash_set_random_tournament
forIsComplete
.
Added
- Add the
IsComplete
trait. - Add unit test
arr_btree_set_complete
forIsComplete
. - Add unit test
arr_btree_set_cycle
forIsComplete
. - Add unit test
arr_hash_set_complete
forIsComplete
. - Add unit test
arr_hash_set_cycle
forIsComplete
. - Add unit test
vec_btree_set_complete
forIsComplete
. - Add unit test
vec_btree_set_cycle
forIsComplete
. - Add unit test
vec_hash_set_complete
forIsComplete
. - Add unit test
vec_hash_set_cycle
forIsComplete
.
Added
- Add unit test
bang_jensen_94
forbellman_ford_moore::single_source_distances
. - Add unit test
bang_jensen_94
forfloyd_warshall::distances
. - Add unit test
kattis_bryr_1
forbellman_ford_moore::single_source_distances
. - Add unit test
kattis_bryr_2
forbellman_ford_moore::single_source_distances
. - Add unit test
kattis_bryr_3
forbellman_ford_moore::single_source_distances
. - Add unit test
kattis_crosscountry
forbellman_ford_moore::single_source_distances
. - Add unit test
kattis_shortestpath1
forbellman_ford_moore::single_source_distances
. - Add unit test
predecessors_kattis_crosscountry
fordijkstra
. - Add unit test
predecessors_kattis_shortestpath1
fordijkstra
. - Add unit test
shortest_path_bang_jensen_94
fordijkstra
. - Add unit test
shortest_path_kattis_crosscountry
fordijkstra
. - Add unit test
shortest_path_kattis_shortestpath1
fordijkstra
. - Add unit test
single_pair_shortest_path_kattis_bang_jensen_94
fordijkstra
. - Add unit test
single_pair_shortest_path_kattis_crosscountry
fordijkstra
. - Add unit test
single_pair_shortest_path_kattis_shortestpath1
fordijkstra
. - Add unit test
single_source_predecessors_kattis_crosscountry
fordijkstra
. - Add unit test
single_source_predecessors_kattis_shortestpath1
fordijkstra
.
Added
- Add benchmark
algo::single_source_distances
.
Changed
- Breaking: Rename
bellman_ford_moore::distances
tobellman_ford_moore::single_source_distances
.
Changed
- Change
CompleteConst
to blanket implementation. - Change
Complete
to blanket implementation. - Change
CycleConst
to blanket implementation. - Change
Cycle
to blanket implementation. - Change
EmptyConst
to blanket implementation. - Change
RandomTournamentConst
to blanket implementation. - Change
RandomTournament
to blanket implementation. - Removed
W: Default
bound onEmptyConst for [BTreeMap<usize, W>; V]
. - Removed
W: Default
bound onEmptyConst for [HashMap<usize, W>; V]
. - Removed
W: Default
bound onEmptyConst for [HashSet<(usize, W)>; V]
.
Added
- Add
Returns
sections todijkstra
documentation.
Changed
- Improve documentation.
Changed
- Improve documentation.
Added
- Add documentation alias
asps
forfloyd_warshall::distances
.
Added
- Add unit test
kattis_bryr_1
forfloyd_warshall::distances
. - Add unit test
kattis_bryr_2
forfloyd_warshall::distances
. - Add unit test
kattis_bryr_3
forfloyd_warshall::distances
. - Add unit test
kattis_crosscountry
forfloyd_warshall::distances
. - Add unit test
kattis_shortestpath1
forfloyd_warshall::distances
.
Changed
- Simplify
floyd_warshall::distances
implementation.
Fixed
- Fix the
README
adjacency list in the comments.
Added
- Add
floyd_warshall::distances
. - Add trait documentation example for
CompleteConst
. - Add trait documentation example for
Complete
. - Add trait documentation example for
CycleConst
. - Add trait documentation example for
Cycle
. - Add trait documentation example for
EmptyConst
.
Removed
- Remove logo.
Changed
- Compress
README
example. - Move project goals up in
README
.
Changed
- Abstract the implementations of
AddArc
with macros. - Abstract the implementations of
AddWeightedArc
with macros. - Abstract the implementations of
ArcWeight
with macros.
Changed
- Abstract the implementations of
HasArc
with macros. - Abstract the implementations of
Indegree
with macros. - Abstract the implementations of
IsSimple
with a macro. - Abstract the implementations of
IterArcs
with macros. - Abstract the implementations of
IterOutNeighborsMut
with macros. - Abstract the implementations of
IterOutNeighbors
with macros. - Abstract the implementations of
IterOutWeightedNeighbors
with macros. - Abstract the implementations of
IterVertices
with macros. - Abstract the implementations of
IterWeightedArcs
with macros. - Abstract the implementations of
Order
with macros. - Abstract the implementations of
Outdegree
with macros. - Abstract the implementations of
RemoveArc
with macros. - Abstract the implementations of
Size
with macros. - Breaking:
RemoveArc for BTreeMap<usize, BTreeMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for BTreeMap<usize, BTreeSet<usize>>
no longer panics. - Breaking:
RemoveArc for HashMap<usize, HashMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for HashMap<usize, HashSet<usize>>
no longer panics. - Breaking:
RemoveArc for Vec<BTreeMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for Vec<BTreeSet<usize>>
no longer panics. - Breaking:
RemoveArc for Vec<HashMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for Vec<HashSet<usize>>
no longer panics. - Breaking:
RemoveArc for [BTreeMap<usize, W>; V]
no longer panics. - Breaking:
RemoveArc for [BTreeMap<usize, W>]
no longer panics. - Breaking:
RemoveArc for [BTreeSet<usize>; V]
no longer panics. - Breaking:
RemoveArc for [BTreeSet<usize>]
no longer panics. - Breaking:
RemoveArc for [HashMap<usize, W>; V]
no longer panics. - Breaking:
RemoveArc for [HashMap<usize, W>]
no longer panics. - Breaking:
RemoveArc for [HashSet<usize>; V]
no longer panics. - Breaking:
RemoveArc for [HashSet<usize>]
no longer panics. - Change
Converse
to blanket implementation. - Change
Degree
to blanket implementation. - Change
HasEdge
to blanket implementation. - Change
IsBalanced
to blanket implementation. - Change
IsIsolated
to blanket implementation. - Change
IsOriented
to blanket implementation. - Change
IsPendant
to blanket implementation. - Change
IsRegular
to blanket implementation. - Change
IsSubdigraph
to blanket implementation. - Change
IsSuperdigraph
to blanket implementation. - Change
IsSymmetric
to blanket implementation. - Change
IsWalk
to blanket implementation. - Change
ReverseArc
to blanket implementation. - Use const size in
IterVertices
implementations.
Added
- Add trait
IsSuperdigraph
. - Implement
IsSubdigraph
for[BTreeMap<usize, W>]
. - Implement
IsSubdigraph
for[HashMap<usize, W>]
. - Implement and test
IsSubdigraph
for[BTreeSet<usize>]
. - Implement and test
IsSubdigraph
for[HashSet<usize>]
. - Implement and test
IsSuperdigraph
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement and test
IsSuperdigraph
forBTreeMap<usize, BTreeSet<usize>>
. - Implement and test
IsSuperdigraph
forHashMap<usize, HashMap<usize, W>>
. - Implement and test
IsSuperdigraph
forHashMap<usize, HashSet<usize>>
. - Implement and test
IsSuperdigraph
forVec<BTreeMap<usize, W>>
. - Implement and test
IsSuperdigraph
forVec<BTreeSet<usize>>
. - Implement and test
IsSuperdigraph
forVec<HashMap<usize, W>>
. - Implement and test
IsSuperdigraph
forVec<HashSet<usize>>
. - Implement and test
IsSuperdigraph
for[BTreeMap<usize, W>; V]
. - Implement and test
IsSuperdigraph
for[BTreeMap<usize, W>]
. - Implement and test
IsSuperdigraph
for[BTreeSet<usize>; V]
. - Implement and test
IsSuperdigraph
for[BTreeSet<usize>]
. - Implement and test
IsSuperdigraph
for[HashMap<usize, W>; V]
. - Implement and test
IsSuperdigraph
for[HashMap<usize, W>]
.
Added
- Add
ReverseArc
trait. - Implement and test
ReverseArc
forBTreeMap<usize, BTreeSet<usize>>
. - Implement and test
ReverseArc
forBTreeSet<(usize, usize)>
. - Implement and test
ReverseArc
forHashMap<usize, HashSet<usize>>
. - Implement and test
ReverseArc
forHashSet<(usize, usize)>
. - Implement and test
ReverseArc
forVec<BTreeSet<usize>>
. - Implement and test
ReverseArc
forVec<HashSet<usize>>
. - Implement and test
ReverseArc
for[BTreeSet<usize>; V]
. - Implement and test
ReverseArc
for[BTreeSet<usize>]
. - Implement and test
ReverseArc
for[HashSet<usize>; V]
. - Implement and test
ReverseArc
for[HashSet<usize>]
.
Added
- Add
IsOriented
trait. - Implement and test
IsOriented
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement and test
IsOriented
forBTreeMap<usize, BTreeSet<usize>>
. - Implement and test
IsOriented
forBTreeSet<(usize, usize)>
. - Implement and test
IsOriented
forHashMap<usize, HashMap<usize, W>>
. - Implement and test
IsOriented
forHashMap<usize, HashSet<usize>>
. - Implement and test
IsOriented
forHashSet<(usize, usize)>
. - Implement and test
IsOriented
forVec<BTreeMap<usize, W>>
. - Implement and test
IsOriented
forVec<BTreeSet<usize>>
. - Implement and test
IsOriented
forVec<HashMap<usize, W>>
. - Implement and test
IsOriented
forVec<HashSet<usize>>
. - Implement and test
IsOriented
for[BTreeMap<usize, W>; V]
. - Implement and test
IsOriented
for[BTreeMap<usize, W>]
. - Implement and test
IsOriented
for[BTreeSet<usize>; V]
. - Implement and test
IsOriented
for[BTreeSet<usize>]
. - Implement and test
IsOriented
for[HashMap<usize, W>; V]
. - Implement and test
IsOriented
for[HashMap<usize, W>]
. - Implement and test
IsOriented
for[HashSet<usize>; V]
. - Implement and test
IsOriented
for[HashSet<usize>]
. - Implement and test
RandomTournament
forBTreeSet<(usize, usize)>
. - Implement and test
RandomTournament
forHashSet<(usize, usize)>
. - Implement and test
RandomTournament
forVec<(usize, usize)>
.
Fixed
- Fix the
IsWalk
trait documentation example.
Fixed
- Fix the
IsWalk
module documentation example.
Added
- Add the
IsWalk
trait. - Implement and test
IsWalk
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement and test
IsWalk
forBTreeMap<usize, BTreeSet<usize>>
. - Implement and test
IsWalk
forHashMap<usize, HashMap<usize, W>>
. - Implement and test
IsWalk
forHashMap<usize, HashSet<usize>>
. - Implement and test
IsWalk
forVec<BTreeMap<usize, W>>
. - Implement and test
IsWalk
forVec<BTreeSet<usize>>
. - Implement and test
IsWalk
forVec<HashMap<usize, W>>
. - Implement and test
IsWalk
forVec<HashSet<usize>>
. - Implement and test
IsWalk
for[BTreeMap<usize, W>; V]
. - Implement and test
IsWalk
for[BTreeMap<usize, W>]
. - Implement and test
IsWalk
for[BTreeSet<usize>; V]
. - Implement and test
IsWalk
for[BTreeSet<usize>]
. - Implement and test
IsWalk
for[HashMap<usize, W>; V]
. - Implement and test
IsWalk
for[HashMap<usize, W>]
. - Implement and test
IsWalk
for[HashSet<usize>; V]
. - Implement and test
IsWalk
for[HashSet<usize>]
.
Changed
- Simplify
op
trait descriptions.
Added
- Implement
IterArcs
for[BTreeMap<usize, W>]
. - Implement
IterArcs
for[BTreeSet<(usize, W)>]
. - Implement
IterArcs
for[HashMap<usize, W>]
. - Implement
IterArcs
for[HashSet<(usize, W)>]
. - Implement
IterArcs
for[Vec<usize, W>]
. - Implement
Size
for[(usize, usize)]
. - Implement
Size
for[(usize, usize, W)]
.
Changed
- Breaking: Rename
iter_all_arcs
toiter_arcs
. - Breaking: Rename
iter_all_weighted_arcs
toiter_weighted_arcs
. - Breaking: Rename
iter_weighted_arcs
toiter_out_weighted_neighbors
.
Refactored
- Clean up
arc_weight
tests. - Clean up
has_arc
tests. - Clean up
has_edge
tests. - Clean up
is_simple
tests. - Clean up
is_symmetric
tests. - Clean up
iter_weighted_arcs
tests. - Clean up
iter_out_neighbors_mut
tests. - Clean up
iter_out_neighbors
tests. - Clean up
iter_vertices
tests. - Clean up
iter_weighted_arcs
tests. - Clean up
order
tests. - Clean up
remove_arc
tests. - Clean up
size
tests.
Added
- Add trait
IsSubdigraph
. - Add trait
RandomTournamentConst
. - Implement and test
IsSubdigraph
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement and test
IsSubdigraph
forBTreeMap<usize, BTreeSet<usize>>
. - Implement and test
IsSubdigraph
forHashMap<usize, HashMap<usize, W>>
. - Implement and test
IsSubdigraph
forHashMap<usize, HashSet<usize>>
. - Implement and test
IsSubdigraph
forVec<BTreeMap<usize, W>>
. - Implement and test
IsSubdigraph
forVec<BTreeSet<usize>>
. - Implement and test
IsSubdigraph
forVec<HashMap<usize, W>>
. - Implement and test
IsSubdigraph
forVec<HashSet<usize>>
. - Implement and test
IsSubdigraph
for[BTreeMap<usize, W>; V]
. - Implement and test
IsSubdigraph
for[BTreeSet<usize>; V]
. - Implement and test
IsSubdigraph
for[HashMap<usize, W>; V]
. - Implement and test
IsSubdigraph
for[HashSet<usize>; V]
. - Implement and test
IterArcs
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement and test
IterArcs
forBTreeMap<usize, BTreeSet<(usize, W)>>
. - Implement and test
IterArcs
forBTreeMap<usize, Vec<(usize, W)>>
. - Implement and test
IterArcs
forBTreeSet<(usize, usize, W)>
. - Implement and test
IterArcs
forHashMap<usize, HashMap<usize, W>>
. - Implement and test
IterArcs
forHashMap<usize, HashSet<(usize, W)>>
. - Implement and test
IterArcs
forHashMap<usize, Vec<(usize, W)>>
. - Implement and test
IterArcs
forHashSet<(usize, usize, W)>
. - Implement and test
IterArcs
forVec<(usize, usize, W)>
. - Implement and test
IterArcs
forVec<BTreeMap<usize, W>>
. - Implement and test
IterArcs
forVec<BTreeSet<(usize, W)>>
. - Implement and test
IterArcs
forVec<HashMap<usize, W>>
. - Implement and test
IterArcs
forVec<HashSet<(usize, W)>>
. - Implement and test
IterArcs
forVec<Vec<(usize, W)>>
. - Implement and test
IterArcs
for[(usize, usize, W); V]
. - Implement and test
IterArcs
for[(usize, usize, W)]
. - Implement and test
IterArcs
for[BTreeMap<usize, W>; V]
. - Implement and test
IterArcs
for[BTreeSet<(usize, W)>; V]
. - Implement and test
IterArcs
for[HashMap<usize, W>; V]
. - Implement and test
IterArcs
for[HashSet<(usize, W)>; V]
. - Implement and test
IterArcs
for[Vec<(usize, W)>; V]
. - Implement and test
RandomTournamentConst
for[BTreeSet<usize>; V]
. - Implement and test
RandomTournamentConst
for[HashSet<usize>; V]
. - Implement and test
RandomTournamentConst
for[Vec<usize>; V]
.
Added
- Add
bellman_ford_moore::distances
documentation examples with negative cycles. - Add
test_negative_cycle
unit test forbellman_ford_moore::distances
. - Document the time complexity of
bellman_ford_moore
. - Document the time complexity of
bfs
. - Document the time complexity of
dijkstra
.
Changed
- Breaking:
bellman_ford_moore::distances
returns anOption
if a negative cycle is detected.
Added
- Cite source for
fixture::bang_jensen_94
. - Cite source for
fixture::bang_jensen_96_isize
. - Cite source for
fixture::bang_jensen_96
. - Cite source for
fixture::bang_jensen_99
. - Cite source for
fixture::crosscountry
. - Cite source for
fixture::kattis_bryr_1
. - Cite source for
fixture::kattis_bryr_2
. - Cite source for
fixture::kattis_bryr_3
. - Cite source for
fixture::shortestpath1
.
Changed
- Move
benches/algo/distances_weighted/cross_country
tobenches/algo/crosscountry
. - Move
benches/algo/distances_weighted/shortestpath1
tobenches/algo/shortestpath1
.
Removed
- Remove
small_graph_1
benchmark. - Remove
graph_1
benchmark.
Refactored
- Move fixtures to their module.
- Re-use
IsBalanced
implementation with a macro. - Re-use
IsRegular
implementation with a macro. - Simplify
bfs
tests. - Simplify
dijkstra
tests. - Simplify
is_regular
tests.
Removed
- Remove unit test
slice_btree_map
forIsRegular
. - Remove unit test
slice_hash_map
forIsRegular
. - Remove unused proptest regressions.
Added
- Add
algo::bellman_ford_moore::distances
. - Add module-level example for
predecessor
. - Add unit test
bang_jensen_96
forbellman_ford_moore::distances
. - Add unit test
bang_jensen_99
forbellman_ford_moore::distances
. - Add unit test
documentation test
forbellman_ford_moore::distances
.
Changed
- Use
Self::with_capacity
inEmpty for Vec<(usize, usize)>
. - Use
Self::with_capacity
inEmpty for Vec<(usize, usize, W)>
.
Changed
- Clean up
Empty
bounds.
Added
- Add
Converse
trait. - Add
arr_btree_map_weighted
unit test forConverse
. - Add
arr_btree_set_weighted
unit test forConverse
. - Add
arr_btree_set
unit test forConverse
. - Add
arr_hash_map_weighted
unit test forConverse
. - Add
arr_hash_set_weighted
unit test forConverse
. - Add
arr_hash_set
unit test forConverse
. - Add
arr_tuple_weighted
unit test forConverse
. - Add
arr_tuple
unit test forConverse
. - Add
arr_vec_weighted
unit test forConverse
. - Add
arr_vec
unit test forConverse
. - Add
btree_map_btree_map_weighted
unit test forConverse
. - Add
btree_map_btree_set_weighted
unit test forConverse
. - Add
btree_map_btree_set
unit test forConverse
. - Add
btree_map_vec_weighted
unit test forConverse
. - Add
btree_map_vec
unit test forConverse
. - Add
btree_set_tuple_weighted
unit test forConverse
. - Add
btree_set_tuple
unit test forConverse
. - Add
hash_map_hash_map_weighted
unit test forConverse
. - Add
hash_map_hash_set_weighted
unit test forConverse
. - Add
hash_map_hash_set
unit test forConverse
. - Add
hash_map_vec_weighted
unit test forConverse
. - Add
hash_map_vec
unit test forConverse
. - Add
hash_set_tuple_weighted
unit test forConverse
. - Add
hash_set_tuple
unit test forConverse
. - Add
prop
module documentation example. - Add
repr
module documentation example. - Add
vec_btree_map_weighted
unit test forConverse
. - Add
vec_btree_set_weighted
unit test forConverse
. - Add
vec_btree_set
unit test forConverse
. - Add
vec_hash_map_weighted
unit test forConverse
. - Add
vec_hash_set_weighted
unit test forConverse
. - Add
vec_hash_set
unit test forConverse
. - Add
vec_tuple_weighted
unit test forConverse
. - Add
vec_tuple
unit test forConverse
. - Add
vec_vec_weighted
unit test forConverse
. - Add
vec_vec
unit test forConverse
. - Implement
AddArc
forBTreeSet<(usize, usize)>
. - Implement
AddArc
forHashSet<(usize, usize)>
. - Implement
AddArc
forVec<(usize, usize)>
. - Implement
Converse
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
Converse
forBTreeMap<usize, BTreeSet<(usize, W)>>
. - Implement
Converse
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
Converse
forBTreeMap<usize, Vec<(usize, W)>>
. - Implement
Converse
forBTreeMap<usize, Vec<usize>>
. - Implement
Converse
forBTreeSet<(usize, usize)>
. - Implement
Converse
forBTreeSet<(usize, usize, W)>
. - Implement
Converse
forHashMap<usize, HashMap<usize, W>>
. - Implement
Converse
forHashMap<usize, HashSet<(usize, W)>>
. - Implement
Converse
forHashMap<usize, HashSet<usize>>
. - Implement
Converse
forHashMap<usize, Vec<(usize, W)>>
. - Implement
Converse
forHashMap<usize, Vec<usize>>
. - Implement
Converse
forHashSet<(usize, usize)>
. - Implement
Converse
forHashSet<(usize, usize, W)>
. - Implement
Converse
forVec<(usize, usize)>
. - Implement
Converse
forVec<(usize, usize, W)>
. - Implement
Converse
forVec<BTreeMap<usize, W>>
. - Implement
Converse
forVec<BTreeSet<(usize, W)>>
. - Implement
Converse
forVec<BTreeSet<usize>>
. - Implement
Converse
forVec<HashMap<usize, W>>
. - Implement
Converse
forVec<HashSet<(usize, W)>>
. - Implement
Converse
forVec<HashSet<usize>>
. - Implement
Converse
forVec<Vec<(usize, W)>>
. - Implement
Converse
forVec<Vec<usize>>
. - Implement
Converse
for[(usize, usize); V]
. - Implement
Converse
for[(usize, usize, W); V]
. - Implement
Converse
for[BTreeMap<usize, W>; V]
. - Implement
Converse
for[BTreeSet<(usize, W)>; V]
. - Implement
Converse
for[BTreeSet<usize>; V]
. - Implement
Converse
for[HashMap<usize, W>; V]
. - Implement
Converse
for[HashSet<(usize, W)>; V]
. - Implement
Converse
for[HashSet<usize, H>; V]
. - Implement
Converse
for[Vec<(usize, W)>; V]
. - Implement
Converse
for[Vec<usize>; V]
.
Changed
- Shorten the
README
example.
Added
- Add
prop::sum_indegrees_eq_sum_outdegrees
. - Add property test
degree_btree_map_btree_set
forrandom_tournament
. - Add property test
degree_hash_map_hash_set
forrandom_tournament
. - Add property test
degree_vec_btree_set
forrandom_tournament
. - Add property test
degree_vec_hash_set
forrandom_tournament
. - Add property test
indegree_btree_map_btree_set
forrandom_tournament
. - Add property test
indegree_hash_map_hash_set
forrandom_tournament
. - Add property test
indegree_vec_btree_set
forrandom_tournament
. - Add property test
indegree_vec_hash_set
forrandom_tournament
. - Add property test
order_vec_btree_set
forrandom_tournament
. - Add property test
order_vec_hash_set
forrandom_tournament
. - Add property test
order_vec_vec
forrandom_tournament
. - Add property test
outdegree_btree_map_btree_set
forrandom_tournament
. - Add property test
outdegree_btree_map_vec
forrandom_tournament
. - Add property test
outdegree_hash_map_hash_set
forrandom_tournament
. - Add property test
outdegree_hash_map_vec
forrandom_tournament
. - Add property test
outdegree_vec_btree_set
forrandom_tournament
. - Add property test
outdegree_vec_hash_set
forrandom_tournament
. - Add property test
outdegree_vec_vec
forrandom_tournament
. - Add property test
size_btree_map_btree_set
forrandom_tournament
. - Add property test
size_btree_map_vec
forrandom_tournament
. - Add property test
size_hash_map_hash_set
forrandom_tournament
. - Add property test
size_hash_map_vec
forrandom_tournament
. - Add property test
size_vec_btree_set
forrandom_tournament
. - Add property test
size_vec_hash_set
forrandom_tournament
. - Add property test
size_vec_vec
forrandom_tournament
. - Add property test
sum_indegrees_eq_sum_outdegrees_arr_btree_set
forCompleteConst::complete
. - Add property test
sum_indegrees_eq_sum_outdegrees_arr_btree_set
forCycleConst::cycle
. - Add property test
sum_indegrees_eq_sum_outdegrees_arr_hash_set
forCompleteConst::complete
. - Add property test
sum_indegrees_eq_sum_outdegrees_arr_hash_set
forCycleConst::cycle
. - Add property test
sum_indegrees_eq_sum_outdegrees_btree_map_btree_set
forComplete::complete
. - Add property test
sum_indegrees_eq_sum_outdegrees_btree_map_btree_set
forCycle::cycle
. - Add property test
sum_indegrees_eq_sum_outdegrees_hash_map_hash_set
forComplete::complete
. - Add property test
sum_indegrees_eq_sum_outdegrees_hash_map_hash_set
forCycle::cycle
. - Add property test
sum_indegrees_eq_sum_outdegrees_vec_btree_set
forComplete::complete
. - Add property test
sum_indegrees_eq_sum_outdegrees_vec_btree_set
forCycle::cycle
. - Add property test
sum_indegrees_eq_sum_outdegrees_vec_hash_set
forComplete::complete
. - Add property test
sum_indegrees_eq_sum_outdegrees_vec_hash_set
forCycle::cycle
. - Add unit test
btree_set_tuple
foriter_weighted_arcs
.
Removed
- Remove unit test
btree_map_btree_set
forrandom_tournament
. - Remove unit test
btree_map_vec
forrandom_tournament
. - Remove unit test
hash_map_hash_set
forrandom_tournament
. - Remove unit test
hash_map_vec
forrandom_tournament
. - Remove unit test
vec_btree_set
forrandom_tournament
. - Remove unit test
vec_hash_set
forrandom_tournament
. - Remove unit test
vec_vec
forrandom_tournament
.
Added
- Add
is_sink
method toOutdegree
. - Add
is_source
method toIndegree
. - Add project goals to
README
. - Add unit test
arr_btree_map_is_sink
foris_sink
. - Add unit test
arr_btree_map_is_source
foris_source
. - Add unit test
arr_btree_set_is_source
foris_source
. - Add unit test
arr_btree_set_unweighted_is_sink
foris_sink
. - Add unit test
arr_btree_set_weighted_is_sink
foris_sink
. - Add unit test
arr_hash_map_is_sink
foris_sink
. - Add unit test
arr_hash_map_is_source
foris_source
. - Add unit test
arr_hash_set_is_source
foris_source
. - Add unit test
arr_hash_set_unweighted_is_sink
foris_sink
. - Add unit test
arr_hash_set_weighted_is_sink
foris_sink
. - Add unit test
arr_vec_unweighted_is_sink
foris_sink
. - Add unit test
arr_vec_weighted_is_sink
foris_sink
. - Add unit test
btree_map_btree_map_is_sink
foris_sink
. - Add unit test
btree_map_btree_map_is_source
foris_source
. - Add unit test
btree_map_btree_set_is_sink
foris_sink
. - Add unit test
btree_map_btree_set_is_source
foris_source
. - Add unit test
btree_map_vec_is_sink
foris_sink
. - Add unit test
hash_map_hash_map_is_sink
foris_sink
. - Add unit test
hash_map_hash_map_is_source
foris_source
. - Add unit test
hash_map_hash_set_is_sink
foris_sink
. - Add unit test
hash_map_hash_set_is_source
foris_source
. - Add unit test
hash_map_vec_is_sink
foris_sink
. - Add unit test
slice_btree_map_is_sink
foris_sink
. - Add unit test
slice_btree_map_is_source
foris_source
. - Add unit test
slice_btree_set_is_source
foris_source
. - Add unit test
slice_btree_set_unweighted_is_sink
foris_sink
. - Add unit test
slice_btree_set_weighted_is_sink
foris_sink
. - Add unit test
slice_hash_map_is_sink
foris_sink
. - Add unit test
slice_hash_map_is_source
foris_source
. - Add unit test
slice_hash_set_is_source
foris_source
. - Add unit test
slice_hash_set_unweighted_is_sink
foris_sink
. - Add unit test
slice_hash_set_weighted_is_sink
foris_sink
. - Add unit test
slice_vec_unweighted_is_sink
foris_sink
. - Add unit test
slice_vec_weighted_is_sink
foris_sink
. - Add unit test
vec_btree_map_is_sink
foris_sink
. - Add unit test
vec_btree_map_is_source
foris_source
. - Add unit test
vec_btree_set_is_source
foris_source
. - Add unit test
vec_btree_set_unweighted_is_sink
foris_sink
. - Add unit test
vec_btree_set_weighted_is_sink
foris_sink
. - Add unit test
vec_hash_map_is_sink
foris_sink
. - Add unit test
vec_hash_map_is_source
foris_source
. - Add unit test
vec_hash_set_is_source
foris_source
. - Add unit test
vec_hash_set_unweighted_is_sink
foris_sink
. - Add unit test
vec_hash_set_weighted_is_sink
foris_sink
. - Add unit test
vec_vec_unweighted_is_sink
foris_sink
. - Add unit test
vec_vec_weighted_is_sink
foris_sink
.
Changed
- Breaking: Rename
IterArcsMut
toIterOutNeighborsMut
. - Breaking: Rename
IterArcs
toIterOutNeighbors
.
Removed
- Remove documentation alias "in_valence" for
indegree
. - Remove documentation alias "inward_demidegree" for
indegree
. - Remove documentation alias "out_valence" for
outdegree
. - Remove documentation alias "outward_demidegree" for
outdegree
.
Changed
- Rename
graph
todigraph
internally. - Rename
G
toD
internally.
Added
- Add documentation alias "in_degree" for
op::indegree
. - Add documentation alias "out_degree" for
op::outdegree
.
Removed
- Remove testing from the
publish
script.
Added
- Add alias
singleton
fortrivial
. - Add method
trivial
. - Add unit test
btree_map_btree_map_trivial
fortrivial
. - Add unit test
btree_map_btree_set_unweighted_trivial
fortrivial
. - Add unit test
btree_map_btree_set_weighted_trivial
fortrivial
. - Add unit test
btree_map_vec_unweighted_trivial
fortrivial
. - Add unit test
btree_map_vec_weighted_trivial
fortrivial
. - Add unit test
btree_set_tuple_unweighted_trivial
fortrivial
. - Add unit test
btree_set_tuple_weighted_trivial
fortrivial
. - Add unit test
hash_map_hash_map_trivial
fortrivial
. - Add unit test
hash_map_hash_set_unweighted_trivial
fortrivial
. - Add unit test
hash_map_hash_set_weighted_trivial
fortrivial
. - Add unit test
hash_map_vec_unweighted_trivial
fortrivial
. - Add unit test
hash_map_vec_weighted_trivial
fortrivial
. - Add unit test
hash_set_tuple_unweighted_trivial
fortrivial
. - Add unit test
hash_set_tuple_weighted_trivial
fortrivial
. - Add unit test
vec_btree_set_unweighted_trivial
fortrivial
. - Add unit test
vec_btree_set_weighted_trivial
fortrivial
. - Add unit test
vec_hash_set_unweighted_trivial
fortrivial
. - Add unit test
vec_hash_set_weighted_trivial
fortrivial
. - Add unit test
vec_tuple_unweighted_trivial
fortrivial
. - Add unit test
vec_tuple_weighted_trivial
fortrivial
. - Add unit test
vec_vec_unweighted_trivial
fortrivial
. - Add unit test
vec_vec_unweighted_trivial
fortrivial
. - Add unit test
vec_vec_weighted_trivial
fortrivial
.
Changed
- Mark
Complete::complete
as#[must_use]
. - Mark
CompleteConst::complete
as#[must_use]
. - Mark
Cycle::cycle
as#[must_use]
. - Mark
CycleConst::cycle
as#[must_use]
. - Mark
Empty::empty
as#[must_use]
. - Mark
EmptyConst::empty
as#[must_use]
. - Mark
RandomTournament::random_tournament
as#[must_use]
.
Added
- Add
RandomTournament
example toREADME
. - Add
gen::RandomTournament
generator. - Add
prng::SplitMix64
PRNG to seedXoshiro256StarStar
. - Add
prng::Xoshiro256StarStar
PRNG. - Add
prng
module. - Add unit test
btree_map_btree_set
forRandomTournament
. - Add unit test
btree_map_vec
forRandomTournament
. - Add unit test
hash_map_hash_set
forRandomTournament
. - Add unit test
hash_map_vec
forRandomTournament
. - Add unit test
vec_btree_set
forRandomTournament
. - Add unit test
vec_hash_set
forRandomTournament
. - Add unit test
vec_vec
forRandomTournament
. - Implement
RandomTournament
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
RandomTournament
forBTreeMap<usize, Vec<usize>>
. - Implement
RandomTournament
forHashMap<usize, HashSet<usize>>
. - Implement
RandomTournament
forHashMap<usize, Vec<usize>>
. - Implement
RandomTournament
forVec<BTreeSet<usize>>
. - Implement
RandomTournament
forVec<HashSet<usize>>
. - Implement
RandomTournament
forVec<Vec<usize>>
.
Added
- Add
IterOutNeighborsMut
trait. - Add
arr_vec
unit test forIterOutNeighborsMut
. - Add
btree_map_vec
unit test forIterOutNeighborsMut
. - Add
hash_map_vec
unit test forIterOutNeighborsMut
. - Add
slice_vec
unit test forIterOutNeighborsMut
. - Add
vec_vec
unit test forIterOutNeighborsMut
. - Implement
IterOutNeighborsMut
forBTreeMap<usize, Vec<usize>>
. - Implement
IterOutNeighborsMut
forHashMap<usize, Vec<usize>>
. - Implement
IterOutNeighborsMut
forVec<Vec<usize>>
. - Implement
IterOutNeighborsMut
for[Vec<usize>; V]
. - Implement
IterOutNeighborsMut
for[Vec<usize>]
.
Fixed
- Fix typo
Changed
- Breaking: Rename
*edge*
to*arc*
in places where it refers to directed edges.
Changed
- Breaking: Rename
CountAllVertices
toOrder
. - Breaking: Rename
CountAllArcs
toSize
.
Added
- Add
IsRegular
trait. - Add a "How to implement" section to
IsSymmetric
documentation. - Add prop test
empty_btree_map_btree_map
forIsRegular
. - Add prop test
empty_btree_map_btree_set_unweighted
forIsRegular
. - Add prop test
empty_hash_map_hash_map
forIsRegular
. - Add prop test
empty_hash_map_hash_set_unweighted
forIsRegular
. - Add prop test
empty_vec_btree_map
forIsRegular
. - Add prop test
empty_vec_btree_set_unweighted
forIsRegular
. - Add prop test
empty_vec_hash_map
forIsRegular
. - Add prop test
empty_vec_hash_set_unweighted
forIsRegular
. - Add unit test
arr_btree_map
forIsRegular
. - Add unit test
arr_btree_set_unweighted
forIsRegular
. - Add unit test
arr_hash_map
forIsRegular
. - Add unit test
arr_hash_set_unweighted
forIsRegular
. - Add unit test
btree_map_btree_map()
forIterVertices
. - Add unit test
btree_map_btree_map
forIsRegular
. - Add unit test
btree_map_btree_set_weighted()
forIterVertices
. - Add unit test
btree_map_btree_set
forIsRegular
. - Add unit test
btree_map_vec_weighted()
forIterVertices
. - Add unit test
hash_map_hash_map()
forIterVertices
. - Add unit test
hash_map_hash_map
forIsRegular
. - Add unit test
hash_map_hash_set_weighted()
forIterVertices
. - Add unit test
hash_map_hash_set
forIsRegular
. - Add unit test
hash_map_vec_weighted()
forIterVertices
. - Add unit test
slice_btree_map
forIsRegular
. - Add unit test
slice_btree_set_unweighted
forIsRegular
. - Add unit test
slice_hash_map
forIsRegular
. - Add unit test
slice_hash_set_unweighted
forIsRegular
. - Add unit test
vec_btree_map
forIsRegular
. - Add unit test
vec_btree_set_unweighted
forIsRegular
. - Add unit test
vec_hash_map
forIsRegular
. - Add unit test
vec_hash_set_unweighted
forIsRegular
. - Implement
IsRegular
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
IsRegular
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IsRegular
forHashMap<usize, HashMap<usize, W>>
. - Implement
IsRegular
forHashMap<usize, HashSet<usize>>
. - Implement
IsRegular
forVec<BTreeMap<usize, W>>
. - Implement
IsRegular
forVec<BTreeSet<usize>>
. - Implement
IsRegular
forVec<HashMap<usize, W>>
. - Implement
IsRegular
forVec<HashSet<usize>>
. - Implement
IsRegular
for[BTreeMap<usize, W>; V]
. - Implement
IsRegular
for[BTreeMap<usize, W>]
. - Implement
IsRegular
for[BTreeSet<usize>; V]
. - Implement
IsRegular
for[BTreeSet<usize>]
. - Implement
IsRegular
for[HashMap<usize, W>; V]
. - Implement
IsRegular
for[HashMap<usize, W>]
. - Implement
IsRegular
for[HashSet<usize>; V]
. - Implement
IsRegular
for[HashSet<usize>]
. - Implement
IterVertices
forBTreeMap<usize, BTreeMap<usize, W>>
- Implement
IterVertices
forBTreeMap<usize, BTreeSet<(usize, W)>>
- Implement
IterVertices
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IterVertices
forBTreeMap<usize, Vec<(usize, W)>>
- Implement
IterVertices
forBTreeMap<usize, Vec<usize>>
. - Implement
IterVertices
forHashMap<usize, HashMap<usize, W>>
- Implement
IterVertices
forHashMap<usize, HashSet<(usize, W)>>
- Implement
IterVertices
forHashMap<usize, HashSet<usize>>
. - Implement
IterVertices
forHashMap<usize, Vec<(usize, W)>>
- Implement
IterVertices
forHashMap<usize, Vec<usize>>
.
Added
- Add proptest strategy
simple_v_e
.
Changed
- Simplify
README
examples.
Changed
- Improve
binop_vertices
tests.
Added
- Add
IsPendant
trait.
Added
- Add
Degree
trait.
Added
- Add unit test
has_arc
forAdjacencyMatrix<V>
. - Implement
HasEdge
forAdjacencyMatrix<V>
. - Implement
IsBalanced
forAdjacencyMatrix<V>
. - Implement
IsIsolated
forAdjacencyMatrix<V>
. - Implement
IsSymmetric
forAdjacencyMatrix<V>
. - Implement
IterArcs
forAdjacencyMatrix<V>
.
Changed
- Breaking:
AdjacencyMatrix::<0>::new
panics. - Simplify
AdjacencyMatrix<V>
op implementations withIterVertices
. - Simplify
AdjacencyMatrix<V>
tests withIterator::eq
. - Simplify
IsSymmetric
implementations withHasArc
. - Simplify arguments to
Iterator::eq
in tests.
Changed
- Breaking:
Complete::complete
panics ifv
is zero. - Breaking:
CompleteConst::complete_const
panics ifV
is zero. - Breaking:
Cycle::cycle
panics ifv
is zero. - Breaking:
CycleConst::cycle_const
panics ifV
is zero. - Breaking:
Empty::empty
panics ifv
is zero. - Breaking:
EmptyConst::empty_const
panics ifV
is zero.
Added
- Add documentation alias "in_valence" for
indegree
. - Add documentation alias "inward_demidegree" for
indegree
. - Add documentation alias "out_valence" for
outdegree
. - Add documentation alias "outward_demidegree" for
outdegree
. - Add unit test
arr_btree_map
forIsIsolated
. - Add unit test
arr_btree_set
forIsIsolated
. - Add unit test
arr_hash_map
forIsIsolated
. - Add unit test
arr_hash_set
forIsIsolated
. - Add unit test
btree_map_btree_map
forIsIsolated
. - Add unit test
btree_map_btree_set
forIsIsolated
. - Add unit test
hash_map_hash_map
forIsIsolated
. - Add unit test
hash_map_hash_set
forIsIsolated
. - Add unit test
slice_btree_map
forIsBalanced
. - Add unit test
slice_btree_map
forIsIsolated
. - Add unit test
slice_btree_set
forIsBalanced
. - Add unit test
slice_btree_set
forIsIsolated
. - Add unit test
slice_hash_map
forIsBalanced
. - Add unit test
slice_hash_map
forIsIsolated
. - Add unit test
slice_hash_set
forIsBalanced
. - Add unit test
slice_hash_set
forIsIsolated
. - Add unit test
vec_btree_map
forIsIsolated
. - Add unit test
vec_btree_set
forIsIsolated
. - Add unit test
vec_hash_map
forIsIsolated
. - Add unit test
vec_hash_set
forIsIsolated
. - Implement
IsBalanced
for[BTreeMap<usize, W>]
. - Implement
IsBalanced
for[BTreeSet<usize>]
. - Implement
IsBalanced
for[HashMap<usize, W>]
. - Implement
IsBalanced
for[HashSet<usize>]
. - Implement
IsIsolated
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
IsIsolated
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IsIsolated
forHashMap<usize, HashMap<usize, W>>
. - Implement
IsIsolated
forHashMap<usize, HashSet<usize>>
. - Implement
IsIsolated
forVec<BTreeMap<usize, W>>
. - Implement
IsIsolated
forVec<BTreeSet<usize>>
. - Implement
IsIsolated
forVec<HashMap<usize, W>>
. - Implement
IsIsolated
forVec<HashSet<usize>>
. - Implement
IsIsolated
for[BTreeMap<usize, W>; V]
. - Implement
IsIsolated
for[BTreeMap<usize, W>]
. - Implement
IsIsolated
for[BTreeSet<usize>; V]
. - Implement
IsIsolated
for[BTreeSet<usize>]
. - Implement
IsIsolated
for[HashMap<usize, W>; V]
. - Implement
IsIsolated
for[HashMap<usize, W>]
. - Implement
IsIsolated
for[HashSet<usize>; V]
. - Implement
IsIsolated
for[HashSet<usize>]
.
Changed
- Restrict existing documentation aliases to the module level.
- Simplify
AddArc
"Panics" sections. - Simplify
Indegree
tests. - Simplify
IsBalanced
tests. - Simplify
Outdegree
tests.
Fixed
- Breaking: Fix
IsBalanced
. - Fix
complete
documentation aliases. - Fix
empty_const
documentation aliases.
Changed
- Breaking:
AddArc for BTreeMap<usize, BTreeSet<usize>>
no longer panics. - Breaking:
AddArc for BTreeMap<usize, Vec<usize>>
no longer panics. - Breaking:
AddArc for HashMap<usize, HashSet<usize>>
no longer panics. - Breaking:
AddArc for HashMap<usize, Vec<usize>>
no longer panics. - Breaking:
AddWeightedArc for BTreeMap<usize, BTreeMap<usize, W>>
no longer panics. - Breaking:
AddWeightedArc for BTreeMap<usize, BTreeSet<(usize, W)>>
no longer panics. - Breaking:
AddWeightedArc for BTreeMap<usize, Vec<(usize, W)>>
no longer panics. - Breaking:
AddWeightedArc for HashMap<usize, HashMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for BTreeMap<usize, BTreeMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for BTreeMap<usize, BTreeSet<usize>>
no longer panics. - Breaking:
RemoveArc for HashMap<usize, HashMap<usize, W>>
no longer panics. - Breaking:
RemoveArc for HashMap<usize, HashSet<usize>>
no longer panics.
Removed
- Remove panic documentation from
Size
implementations.
Added
- Add property test
binop_vertices_bounds
forbinop_vertices
. - Add unit test
arr_vec_parallel_arcs
forIsSimple
. - Add unit test
arr_vec_self_loop
forIsSimple
. - Add unit test
arr_vec_simple
forIsSimple
. - Add unit test
slice_vec_parallel_arcs
forIsSimple
. - Add unit test
slice_vec_self_loop
forIsSimple
. - Add unit test
slice_vec_simple
forIsSimple
. - Add unit test
vec_vec_parallel_arcs
forIsSimple
. - Add unit test
vec_vec_self_loop
forIsSimple
. - Add unit test
vec_vec_simple
forIsSimple
. - Implement
IsSimple
forVec<Vec<usize>>
. - Implement
IsSimple
for[Vec<usize>; V]
. - Implement
IsSimple
for[Vec<usize>]
.
Fixed
- Fix formatting
Added
- Add documentation alias "isograph" for
IsBalanced
. - Add documentation alias "pseudosymmetric" for
IsBalanced
. - Add trait
HasEdge
. - Add trait
IsSymmetric
. - Implement
HasEdge
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
HasEdge
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
HasEdge
forBTreeSet<(usize, usize)>
. - Implement
HasEdge
forHashMap<usize, HashMap<usize, W>>
. - Implement
HasEdge
forHashMap<usize, HashSet<usize>>
. - Implement
HasEdge
forHashSet<(usize, usize)>
. - Implement
HasEdge
forVec<BTreeMap<usize, W>>
. - Implement
HasEdge
forVec<BTreeSet<usize>>
. - Implement
HasEdge
forVec<HashMap<usize, W>>
. - Implement
HasEdge
forVec<HashSet<usize>>
. - Implement
HasEdge
for[BTreeMap<usize, W>; V]
. - Implement
HasEdge
for[BTreeMap<usize, W>]
. - Implement
HasEdge
for[BTreeSet<usize>; V]
. - Implement
HasEdge
for[BTreeSet<usize>]
. - Implement
HasEdge
for[HashMap<usize, W>; V]
. - Implement
HasEdge
for[HashMap<usize, W>]
. - Implement
HasEdge
for[HashSet<usize>; V]
. - Implement
HasEdge
for[HashSet<usize>]
. - Implement
IsSymmetric
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
IsSymmetric
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IsSymmetric
forHashMap<usize, HashMap<usize, W>>
. - Implement
IsSymmetric
forHashMap<usize, HashSet<usize>>
. - Implement
IsSymmetric
forVec<BTreeMap<usize, W>>
. - Implement
IsSymmetric
forVec<BTreeSet<usize>>
. - Implement
IsSymmetric
forVec<HashMap<usize, W>>
. - Implement
IsSymmetric
forVec<HashSet<usize>>
. - Implement
IsSymmetric
for[BTreeMap<usize, W>; V]
. - Implement
IsSymmetric
for[BTreeMap<usize, W>]
. - Implement
IsSymmetric
for[BTreeSet<usize>; V]
. - Implement
IsSymmetric
for[BTreeSet<usize>]
. - Implement
IsSymmetric
for[HashMap<usize, W>; V]
. - Implement
IsSymmetric
for[HashMap<usize, W>]
. - Implement
IsSymmetric
for[HashSet<usize>; V]
. - Implement
IsSymmetric
for[HashSet<usize>]
. - Implement
IterWeightedArcs
for[BTreeMap<usize, W>]
. - Implement
IterWeightedArcs
for[BTreeSet<(usize, W)>]
. - Implement
IterWeightedArcs
for[HashMap<usize, W>]
. - Implement
IterWeightedArcs
for[HashSet<(usize, W)>]
. - Implement
IterWeightedArcs
for[Vec<(usize, W)>]
.
Changed
- Breaking: Rename
add_weighted_arc_is_arc
toadd_weighted_arc_has_arc
. - Breaking: Rename
add_arc_remove_arc
toadd_arc_has_arc
. - Breaking: Rename
IsArc
toHasArc
.
Removed
- Remove bound
W: Ord
fromHasArc for [BTreeMap<usize, W>]
. - Remove bound
W: Ord
fromHasArc for [BTreeMap<usize, W>; V]
.
Added
- Implement
IsBalanced
forVec<BTreeMap<usize, W>>
. - Implement
IsBalanced
forVec<HashMap<usize, W>>
. - Implement
IsBalanced
for[BTreeMap<usize, W>; V]
. - Implement
IsBalanced
for[HashMap<usize, W>; V]
. - Implement
IterWeightedArcs
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
IterWeightedArcs
forBTreeMap<usize, BTreeSet<(usize, W)>>
. - Implement
IterWeightedArcs
forBTreeMap<usize, Vec<(usize, W)>>
. - Implement
IterWeightedArcs
forHashMap<usize, HashMap<usize, W>>
. - Implement
IterWeightedArcs
forHashMap<usize, HashSet<(usize, W)>>
. - Implement
IterWeightedArcs
forHashMap<usize, Vec<(usize, W)>>
. - Implement
IterWeightedArcs
forVec<BTreeMap<usize, W>>
. - Implement
IterWeightedArcs
forVec<BTreeSet<(usize, W)>>
. - Implement
IterWeightedArcs
forVec<HashMap<usize, W>>
. - Implement
IterWeightedArcs
forVec<HashSet<(usize, W)>>
. - Implement
IterWeightedArcs
forVec<Vec<(usize, W)>>
. - Implement
IterWeightedArcs
for[BTreeMap<usize, W>; V]
. - Implement
IterWeightedArcs
for[BTreeSet<(usize, W)>; V]
. - Implement
IterWeightedArcs
for[HashMap<usize, W>; V]
. - Implement
IterWeightedArcs
for[HashSet<(usize, W)>; V]
. - Implement
IterWeightedArcs
for[Vec<(usize, W)>; V]
.
Added
- Add
IsBalanced
trait. - Implement
IsBalanced
forVec<BTreeSet<usize>>
. - Implement
IsBalanced
forVec<HashSet<usize>>
. - Implement
IsBalanced
for[BTreeSet<usize>; V]
. - Implement
IsBalanced
for[HashSet<usize>; V]
. - Implement
IterArcs
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IterArcs
forBTreeMap<usize, Vec<usize>>
. - Implement
IterArcs
forHashMap<usize, HashSet<usize>>
. - Implement
IterArcs
forHashMap<usize, Vec<usize>>
. - Implement
IterArcs
forVec<BTreeSet<usize>>
. - Implement
IterArcs
forVec<HashSet<usize>>
. - Implement
IterArcs
forVec<Vec<usize>>
. - Implement
IterArcs
for[BTreeSet<usize>; V]
. - Implement
IterArcs
for[BTreeSet<usize>]
. - Implement
IterArcs
for[HashSet<usize>; V]
. - Implement
IterArcs
for[HashSet<usize>]
. - Implement
IterArcs
for[Vec<usize>; V]
. - Implement
IterArcs
for[Vec<usize>]
.
Added
- Add back the description of operations in
README
.
Changed
- Clean up
Complete
property tests. - Clean up
Cycle
property tests. - Clean up
Empty
property tests. - Simplify
CompleteConst::complete
implementations withEmpty
. - Simplify
Cycle::cycle
implementations withEmpty
. - Simplify
CycleConst::cycle
implementations withEmpty
.
Fixed
- Fix
CompleteConst
outdegree
unit tests.
Added
- Add
btree_set
unit test foriter_weighted_arcs
.
Changed
- Simplify tests with
Iterator::eq
.
Changed
- Update
README
examples.
Added
- Add
gen::EmptyConst
generator.
Added
- Add
gen::Empty
generator. - Add
publish
script. - Add documentation alias "circular" for
gen::cycle_const
. - Add documentation alias "circular" for
gen::cycle
.
Changed
- Simplify implementations of
Complete::complete
. - Simplify implementations of
CompleteConst::complete_const
.
Removed
- Remove
pre-commit.sh
. - Remove
setup-pre-commit.sh
.
Added
- Add
CompleteConst
unit testarr_btree_set
. - Add
CompleteConst
unit testarr_hash_set
. - Add
CompleteConst
unit testarr_vec
. - Add
CompleteConst
unit testsize_arr_btree_set
. - Add
CompleteConst
unit testsize_arr_hash_set
. - Add
CompleteConst
unit testsize_arr_vec
. - Add
CompleteConst
unit testorder_arr_btree_set
. - Add
CompleteConst
unit testorder_arr_hash_set
. - Add
CompleteConst
unit testorder_arr_vec
. - Add
CompleteConst
unit testindegree_arr_btree_set
. - Add
CompleteConst
unit testindegree_arr_hash_set
. - Add
CompleteConst
unit testis_simple_arr_btree_set
. - Add
CompleteConst
unit testis_simple_arr_hash_set
. - Add
CompleteConst
unit testoutdegree_arr_btree_set
. - Add
CompleteConst
unit testoutdegree_arr_hash_set
. - Add
CompleteConst
unit testoutdegree_arr_vec
. - Add
Complete
unit testsize_btree_map_btree_set_0
. - Add
Complete
unit testsize_btree_map_vec_0
. - Add
Complete
unit testsize_hash_map_hash_set_0
. - Add
Complete
unit testsize_hash_map_vec_0
. - Add
Complete
unit testsize_vec_btree_set_0
. - Add
Complete
unit testsize_vec_hash_set_0
. - Add
Complete
unit testsize_vec_vec_0
. - Add
Complete
unit testindegree_btree_map_btree_set_0
. - Add
Complete
unit testindegree_hash_map_hash_set_0
. - Add
Complete
unit testindegree_vec_btree_set_0
. - Add
Complete
unit testindegree_vec_hash_set_0
. - Add
Complete
unit testoutdegree_btree_map_btree_set_0
. - Add
Complete
unit testoutdegree_btree_map_vec_0
. - Add
Complete
unit testoutdegree_hash_map_hash_set_0
. - Add
Complete
unit testoutdegree_hash_map_vec_0
. - Add
Complete
unit testoutdegree_vec_btree_set_0
. - Add
Complete
unit testoutdegree_vec_hash_set_0
. - Add
Complete
unit testoutdegree_vec_vec_0
.
Changed
- Breaking:
Outdegree::outdegree
no longer panics ifs
is not in the graph.
Added
- Add the
gen::Complete
generator. - Add the
gen::CompleteConst
generator.
Added
- Add documentation alias "circular" for
gen::Cycle
. - Add documentation alias "circular" for
gen::CycleConst
.
Changed
- Emphasize the focus on directed graphs in the documentation.
Removed
- Remove
gen::Star
. - Remove
gen::StarConst
. - Remove
gen::Linear
- Remove
gen::LinearConst
. - Remove
op::Target
.
Added
- Add
gen::StarConst
generator. - Add
gen::StarConst
unit testarr_btree_set
. - Add
gen::StarConst
unit testarr_hash_set
. - Add
gen::StarConst
unit testarr_vec
. - Add
gen::StarConst
unit testis_simple_arr_btree_set
. - Add
gen::StarConst
unit testis_simple_arr_hash_set
. - Implement
StarConst
for[BTreeSet<usize>; V]
. - Implement
StarConst
for[HashSet<usize>; V]
. - Implement
StarConst
for[Vec<usize>; V]
.
Added
- Add
gen::Star
property testindegree_btree_map_btree_set_1
. - Add
gen::Star
property testindegree_hash_map_hash_set_1
. - Add
gen::Star
property testindegree_vec_btree_set_1
. - Add
gen::Star
property testindegree_vec_hash_set_1
. - Add
gen::Star
property testoutdegree_btree_map_btree_set_1
. - Add
gen::Star
property testoutdegree_btree_map_vec_1
. - Add
gen::Star
property testoutdegree_hash_map_hash_set_1
. - Add
gen::Star
property testoutdegree_hash_map_vec_1
. - Add
gen::Star
property testoutdegree_vec_btree_set_1
. - Add
gen::Star
property testoutdegree_vec_hash_set_1
. - Add
gen::Star
property testoutdegree_vec_vec_1
. - Link to
CHANGELOG.md
fromREADME.md
.
Changed
- Breaking: Return an empty arc list for the one vertex in
gen::Star::star(1)
.
Added
- Add
gen::Star
property testsize_btree_map_btree_set
. - Add
gen::Star
property testsize_btree_map_vec
. - Add
gen::Star
property testsize_hash_map_hash_set
. - Add
gen::Star
property testsize_hash_map_vec
. - Add
gen::Star
property testsize_vec_btree_set
. - Add
gen::Star
property testsize_vec_hash_set
. - Add
gen::Star
property testsize_vec_vec
. - Add
gen::Star
property testorder_vec_btree_set
. - Add
gen::Star
property testorder_vec_hash_set
. - Add
gen::Star
property testorder_vec_vec
. - Add
gen::Star
property testindegree_btree_map_btree_set
. - Add
gen::Star
property testindegree_hash_map_hash_set
. - Add
gen::Star
property testindegree_vec_btree_set
. - Add
gen::Star
property testindegree_vec_hash_set
. - Add
gen::Star
property testis_simple_vec_btree_set
. - Add
gen::Star
property testis_simple_vec_hash_set
. - Add
gen::Star
property testis_simple_vec_vec
. - Add
gen::Star
property testoutdegree_btree_map_btree_set
. - Add
gen::Star
property testoutdegree_btree_map_vec
. - Add
gen::Star
property testoutdegree_hash_map_hash_set
. - Add
gen::Star
property testoutdegree_hash_map_vec
. - Add
gen::Star
property testoutdegree_vec_btree_set
. - Add
gen::Star
property testoutdegree_vec_hash_set
. - Add
gen::Star
property testoutdegree_vec_vec
. - Add
gen::Star
unit testbtree_map_btree_set
. - Add
gen::Star
unit testbtree_map_vec
. - Add
gen::Star
unit testhash_map_hash_set
. - Add
gen::Star
unit testhash_map_vec
. - Add
gen::Star
unit testvec_btree_set
. - Add
gen::Star
unit testvec_hash_set
. - Add
gen::Star
unit testvec_vec
. - Add documentation alias for
bfs::single_pair_shortest_path
. - Add documentation alias for
dijkstra::single_pair_shortest_path
. - Add generator
gen::Star
for star graphs. - Implement
gen::Star
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
gen::Star
forBTreeMap<usize, Vec<usize>>
. - Implement
gen::Star
forHashMap<usize, HashSet<usize>>
. - Implement
gen::Star
forHashMap<usize, Vec<usize>>
. - Implement
gen::Star
forVec<BTreeSet<usize>>
. - Implement
gen::Star
forVec<HashSet<usize>>
. - Implement
gen::Star
forVec<Vec<usize>>
.
Changed
- Add diagram to
README
bfs::single_pair_shortest_path
example. - Standardize links in documentation to conform to RFC-1574.
Changed
- Standardize documentation summary sentences to conform to RFC-1574.
Changed
- Add MIT license.
Added
- Add
dijkstra::single_pair_shortest_path
.
Fixed
- Fix
dijkstra::shortest_path
.
Added
- Add
Size
unit testbtree_set_tuple_unweighted
. - Add
Size
unit testbtree_set_tuple_weighted
. - Add
Size
unit testhash_set_tuple_unweighted
. - Add
Size
unit testhash_set_tuple_weighted
. - Add
Size
unit testvec_tuple_unweighted
. - Add
Size
unit testvec_tuple_weighted
. - Add
CycleConst
unit testarr_tuple
. - Add
CycleConst
unit testis_simple_arr_btree_set
. - Add
CycleConst
unit testis_simple_arr_hash_set
. - Add
CycleConst
unit testis_simple_arr_tuple
. - Add
Cycle
property testsize_btree_set_tuple
. - Add
Cycle
property testsize_hash_set_tuple
. - Add
Cycle
property testsize_vec_tuple
. - Add
Cycle
property testis_simple_btree_set_tuple
. - Add
Cycle
property testis_simple_hash_set_tuple
. - Add
Cycle
property testis_simple_vec_btree_set
. - Add
Cycle
property testis_simple_vec_hash_set
. - Add
Cycle
property testis_simple_vec_tuple
. - Add
Cycle
unit testbtree_set_tuple
. - Add
Cycle
unit testhash_set_tuple
. - Add
Cycle
unit testis_simple_btree_set_tuple_0
. - Add
Cycle
unit testis_simple_btree_set_tuple_1
. - Add
Cycle
unit testis_simple_hash_set_tuple_0
. - Add
Cycle
unit testis_simple_hash_set_tuple_1
. - Add
Cycle
unit testis_simple_vec_btree_set_0
. - Add
Cycle
unit testis_simple_vec_btree_set_1
. - Add
Cycle
unit testis_simple_vec_hash_set_0
. - Add
Cycle
unit testis_simple_vec_hash_set_1
. - Add
Cycle
unit testis_simple_vec_tuple_0
. - Add
Cycle
unit testis_simple_vec_tuple_1
. - Add
Cycle
unit testvec_tuple
. - Add
LinearConst
unit testis_simple_arr_btree_set
. - Add
LinearConst
unit testis_simple_arr_hash_set
. - Add
Linear
property testis_simple_vec_btree_set
. - Add
Linear
property testis_simple_vec_hash_set
. - Implement
Size
forBTreeSet<(usize, usize)>
. - Implement
Size
forBTreeSet<(usize, usize, W)>
. - Implement
Size
forHashSet<(usize, usize)>
. - Implement
Size
forHashSet<(usize, usize, W)>
. - Implement
Size
forVec<(usize, usize)>
. - Implement
Size
forVec<(usize, usize, W)>
. - Implement
CycleConst
for[(usize, usize); V]
. - Implement
Cycle
forBTreeSet<(usize, usize)>
. - Implement
Cycle
forHashSet<(usize, usize)>
. - Implement
Cycle
forVec<(usize, usize)>
.
Changed
- Link to
CycleConst
from theCycle
documentation.
Added
- Implement
CycleConst
for[BTreeSet<usize>; V]
. - Implement
CycleConst
for[HashSet<usize>; V]
. - Implement
CycleConst
for[Vec<usize>; V]
.
Changed
- Set
opt-level
to3
forproptest
.
Added
- Add
gen::Cycle
property testsize_btree_map_btree_set
. - Add
gen::Cycle
property testsize_btree_map_vec
. - Add
gen::Cycle
property testsize_hash_map_hash_set
. - Add
gen::Cycle
property testsize_hash_map_vec
. - Add
gen::Cycle
property testsize_vec_btree_set
. - Add
gen::Cycle
property testsize_vec_hash_set
. - Add
gen::Cycle
property testsize_vec_vec
. - Add
gen::Cycle
property testindegree_btree_map_btree_set
. - Add
gen::Cycle
property testindegree_hash_map_hash_set
. - Add
gen::Cycle
property testoutdegree_btree_map_btree_set
. - Add
gen::Cycle
property testoutdegree_btree_map_vec
. - Add
gen::Cycle
property testoutdegree_hash_map_hash_set
. - Add
gen::Cycle
property testoutdegree_hash_map_vec
. - Add
gen::Cycle
unit testbtree_map_btree_set
. - Add
gen::Cycle
unit testbtree_map_vec
. - Add
gen::Cycle
unit testhash_map_hash_set
. - Add
gen::Cycle
unit testhash_map_vec
. - Add
gen::Linear
property testsize_btree_map_btree_set
. - Add
gen::Linear
property testsize_btree_map_vec
. - Add
gen::Linear
property testsize_hash_map_hash_set
. - Add
gen::Linear
property testsize_hash_map_vec
. - Add
gen::Linear
property testsize_vec_btree_set
. - Add
gen::Linear
property testsize_vec_hash_set
. - Add
gen::Linear
property testsize_vec_vec
. - Add
gen::Linear
property testorder_vec_btree_set
. - Add
gen::Linear
property testorder_vec_hash_set
. - Add
gen::Linear
property testorder_vec_vec
. - Add
gen::Linear
property testindegree_btree_map_btree_set
. - Add
gen::Linear
property testindegree_hash_map_hash_set
. - Add
gen::Linear
property testindegree_vec_btree_set
. - Add
gen::Linear
property testindegree_vec_hash_set
. - Add
gen::Linear
property testoutdegree_btree_map_btree_set
. - Add
gen::Linear
property testoutdegree_btree_map_vec
. - Add
gen::Linear
property testoutdegree_hash_map_hash_set
. - Add
gen::Linear
property testoutdegree_hash_map_vec
. - Add
gen::Linear
property testoutdegree_vec_btree_set
. - Add
gen::Linear
property testoutdegree_vec_hash_set
. - Add
gen::Linear
property testoutdegree_vec_vec
. - Implement
Cycle
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
Cycle
forBTreeMap<usize, Vec<usize>>
. - Implement
Cycle
forHashMap<usize, HashSet<usize>>
. - Implement
Cycle
forHashMap<usize, Vec<usize>>
. - Implement
ArcWeight
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
ArcWeight
forVec<BTreeMap<usize, W>>
. - Implement
ArcWeight
for[BTreeMap<usize, W>; V]
. - Implement
ArcWeight
for[BTreeMap<usize, W>]
. - Implement
Linear
forHashMap<usize, HashSet<usize>>
. - Implement
Linear
forHashMap<usize, Vec<usize>>
.
Added
- Add
gen::Cycle
property testorder_vec_vec
. - Add
gen::Cycle
property testorder_vec_btree_set
. - Add
gen::Cycle
property testorder_vec_hash_set
. - Add
gen::Cycle
property testindegree_vec_btree_set
. - Add
gen::Cycle
property testindegree_vec_hash_set
. - Add
gen::Cycle
property testoutdegree_vec_vec
. - Add
gen::Cycle
property testoutdegree_vec_btree_set
. - Add
gen::Cycle
property testoutdegree_vec_hash_set
.
Changed
- Clean up examples in
README
.
Changed
- Add more extensive examples to
README
. - Simplify
strategy::binop_vertices
implementation.
Fixed
- Fix
prop::strategy::binop_vertices
whenv
is zero insideflat_map
.
Removed
- Breaking: Remove
prop::remove_arc_is_arc
.
Added
- Add
add_weighted_arc_is_arc
property testbtree_map_btree_set
. - Add
add_weighted_arc_is_arc
property testhash_map_hash_set
. - Add
add_weighted_arc_is_arc
property testslice_btree_set
. - Add
add_weighted_arc_is_arc
property testslice_hash_set
. - Add
add_weighted_arc_is_arc
property testvec_btree_map
. - Add
add_weighted_arc_is_arc
property testvec_hash_map
. - Add
add_weighted_arc_is_arc
unit testarr_btree_map
. - Add
add_weighted_arc_is_arc
unit testarr_hash_map
. - Add
add_weighted_arc_remove_arc
property testbtree_map_btree_map
. - Add
add_weighted_arc_remove_arc
property testhash_map_hash_map
. - Add
add_weighted_arc_remove_arc
property testslice_btree_map
. - Add
add_weighted_arc_remove_arc
property testslice_hash_map
. - Add
add_weighted_arc_remove_arc
property testvec_btree_map
. - Add
add_weighted_arc_remove_arc
property testvec_hash_map
. - Add
add_weighted_arc_remove_arc
unit testarr_btree_map
. - Add
add_weighted_arc_remove_arc
unit testarr_hash_map
.
Changed
- Loosen bound on
G
inadd_weighted_arc_is_arc
to?Sized
.
Fixed
- Fix
prop::strategy::binop_vertices
whenv
is zero.
Removed
- Remove
add_weighted_arc_is_arc
unit testvec_hash_map
. - Remove
add_weighted_arc_remove_arc
unit testvec_hash_map
. - Rename
prop::strategy::v_s_t
toprop::strategy::binop_vertices
.
Added
- Add
add_arc_is_arc
property testbtree_map_btree_set
. - Add
add_arc_is_arc
property testhash_map_hash_set
. - Add
add_arc_is_arc
property testslice_btree_set
. - Add
add_arc_is_arc
property testslice_hash_set
. - Add
add_arc_is_arc
property testvec_btree_set
. - Add
add_arc_is_arc
property testvec_hash_set
. - Add
add_arc_is_arc
unit testarr_btree_set
. - Add
add_arc_remove_arc
property testvec_btree_set
. - Add
add_arc_remove_arc
property testvec_hash_set
. - Add
add_arc_remove_arc
unit testarr_btree_set
. - Add
prop::strategy::v_s_t
to order, source, and target. - Add
proptest
as a dev-dependency.
Changed
- Breaking: Move
op::prop
toprop
.
Removed
- Remove
add_arc_is_arc
unit testhash_map_hash_set
. - Remove
add_arc_is_arc
unit testhash_map_hash_set
. - Remove
add_arc_is_arc
unit testvec_hash_set
. - Remove
add_arc_remove_arc
unit testvec_hash_set
.
Added
- Add
gen::LinearConst
generator. - Implement
LinearConst
for[BTreeSet<usize>; V]
. - Implement
LinearConst
for[HashSet<usize>; V]
. - Implement
LinearConst
for[Vec<usize>; V]
. - Implement
Linear
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
Linear
forBTreeMap<usize, Vec<usize>>
.
Fixed
- Fix comments in
gen::Linear
test function bodies.
Added
- Add
gen::Cycle
generator.
Added
- Add
algo::dijkstra::shortest_path
. - Add
bench
job to GHA workflow. - Bench
add_arc
forBTreeMap<usize, BTreeSet<usize>>
. - Bench
add_arc
forBTreeMap<usize, Vec<usize>>
. - Bench
add_arc
forVec<BTreeSet<usize>>
. - Bench
add_arc
for[BTreeSet<usize>; V]
. - Bench
size
forVec<BTreeMap<usize, usize>>
.
Changed
- Breaking: Return immediately in
bfs::shortest_path
when it finds the target before pushing the target to the queue. - Compress textual diagrams.
- Cross-link
bfs
anddijkstra
in module documentation. - Document panics in
bfs
anddijkstra
. - Link to the
op
module inside the documentation of therepr
module. - Remove
min_time
from benches.
Changed
- Check the top changelog entry version number on pre-commit.
Added
- Add
op::Target
, a trait to get the target vertex of an adjacency list arc.
Changed
- Replace
Linear for G: AddArc + Empty
withLinear for Vec<BTreeSet<usize>>
. - Replace
Linear for G: AddArc + Empty
withLinear for Vec<HashSet<usize>>
. - Replace
Linear for G: AddArc + Empty
withLinear for Vec<Vec<usize>>
.
Removed
- Breaking: Remove
gen::Empty
.
Added
- Add
gen::Empty
, a generator for empty graphs. - Implement
Linear
forG: AddArc + Empty
. - Implement
Empty
forVec<T: Clone + Default + IntoIterator<Item = usize>>
.
Changed
- Replace
Linear for Vec<BTreeSet<usize>>
withLinear for G: AddArc + Empty
. - Replace
Linear for Vec<HashSet<usize>>
withLinear for G: AddArc + Empty
. - Replace
Linear for Vec<Vec<usize>>
withLinear for G: AddArc + Empty
.
Changed
- Breaking: Remove the
nightly
feature, as onlyadjacency_matrix
depends on it. - Simplify
README
.
Changed
- Split up GHA workflow into multiple jobs.
Changed
- Replace
saturating_sub
with-
ingen::linear
.
Added
- Implement
Linear
forBTreeSet<usize>
. - Implement
Linear
forHashSet<usize>
.
Fixed
- Fix
Linear::linear
.
Added
- Add a documentation test for
gen::Linear
.
Added
- Add
gen::Linear
, a generator for linear graphs.
Changed
IsArc
for[BTreeMap<usize, W>]
no longer panics ifs
is not in the graph.IsArc
for[BTreeSet<usize>]
no longer panics ifs
is not in the graph.IsArc
for[HashMap<usize, W>]
no longer panics ifs
is not in the graph.IsArc
for[HashSet<usize>]
no longer panics ifs
is not in the graph.
Added
- Add more tests for
bfs::single_pair_shortest_path
. - Mention
bfs::single_pair_shortest_path
in the module documentation ofbfs
.
Added
- Add
bfs::single_pair_shortest_path
.
Changed
- Breaking: Remove
?Sized
bound fromgraph
inbfs::distances
. - Breaking: Remove
?Sized
bound fromgraph
inbfs::predecessors
. - Change
is_target
toimpl Fn(W) -> bool
inbfs::shortest_path
. - Change
step
type toimpl Fn(W) -> W
inbfs::distances
. - Change
step
type toimpl Fn(W) -> W
inbfs::predecessors
. - Change
step
type toimpl Fn(W) -> W
inbfs::shortest_path
. - Change
step
type toimpl Fn(W) -> W
indijkstra::distances
. - Change
step
type toimpl Fn(W) -> W
indijkstra::predecessors
. - Update
README.md
example to usebfs::single_pair_shortest_path
.
Changed
- Move module documentation into modules.
- Use
HashSet
instead ofAdjacencyMatrix
in thelib
test. - Add
Cargo.toml
to.gitignore
.
Changed
- Breaking: Disable
adjacency_matrix
by default to support stable Rust.
Added
- Add a
nightly
feature.
Changed
- Breaking: Make the
adjacency_matrix
depend on thenightly
feature. - Breaking: Enable
adjacency_matrix
by default. - Replace
assert_matches!(...)
withassert!(matches!(...))
.
Added
- Add
pre-commit
configuration.
Changed
- Derive
Hash
forAdjacencyMatrix
. - Derive
Ord
forAdjacencyMatrix
.
Added
- Add
predecessor::search_by
. - Add
bfs::shortest_path
.
Changed
- Breaking: Rename
bfs::distances_single_source
tobfs::single_source_distances
. - Breaking: Rename
bfs::predecessors_single_source
tobfs::single_source_predecessors
. - Breaking: Rename
dijkstra::distances_single_source
todijkstra::single_source_distances
. - Breaking: Rename
dijkstra::predecessors_single_source
todijkstra::single_source_predecessors
. - Breaking:
predecessor::search
returns a singleton path if the target is the source.
Changed
- Breaking:
bfs::predecessors_single_source
only returns the predecessor tree. - Breaking:
dijkstra::predecessors_single_source
only returns the predecessor tree.
Changed
- Breaking:
repr::AdjacencyMatrix
is a feature.
Added
- Add
predecessor::search
.
Changed
- Move the list of standard library graph representations from
README
toop/mod.rs
.
Added
- Implement
Indegree
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
Indegree
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
Indegree
forVec<BTreeMap<usize, W>>
. - Implement
Indegree
forVec<BTreeSet<usize>>
. - Implement
Indegree
for[BTreeMap<usize, W>; V]
. - Implement
Indegree
for[BTreeMap<usize, W>]
. - Implement
Indegree
for[BTreeSet<usize>; V]
. - Implement
Indegree
for[BTreeSet<usize>]
. - Implement
IterVertices
forVec<BTreeMap<usize, W>>
. - Implement
IterVertices
forVec<BTreeSet<(usize, W)>>
. - Implement
IterVertices
forVec<BTreeSet<usize>>
. - Implement
IterVertices
forVec<HashMap<usize, W>>
. - Implement
IterVertices
forVec<HashSet<(usize, W)>>
. - Implement
IterVertices
forVec<HashSet<usize>>
. - Implement
IterVertices
forVec<Vec<(usize, W)>>
. - Implement
IterVertices
forVec<Vec<usize>>
. - Implement
IterVertices
for[BTreeMap<usize, W>; V]
. - Implement
IterVertices
for[BTreeMap<usize, W>]
. - Implement
IterVertices
for[BTreeSet<(usize, W); V]
. - Implement
IterVertices
for[BTreeSet<(usize, W)]
. - Implement
IterVertices
for[BTreeSet<usize>; V]
. - Implement
IterVertices
for[BTreeSet<usize>]
. - Implement
IterVertices
for[HashMap<usize, W>; V]
. - Implement
IterVertices
for[HashMap<usize, W>]
. - Implement
IterVertices
for[HashSet<(usize, W); V]
. - Implement
IterVertices
for[HashSet<(usize, W)]
. - Implement
IterVertices
for[HashSet<usize>; V]
. - Implement
IterVertices
for[HashSet<usize>]
. - Implement
IterVertices
for[Vec<(usize, W)>; V]
. - Implement
IterVertices
for[Vec<(usize, W)>]
. - Implement
IterVertices
for[Vec<usize>; V]
. - Implement
IterVertices
for[Vec<usize>]
.
Removed
- Breaking: Remove
IterVertices
forVec<T>
. - Breaking: Remove
IterVertices
for[T]
. - Breaking: Remove
IterVertices
for[T; V]
.
Fixed
- Remove unused parameter
W
fromremove_arc_is_arc
.
Added
- Implement
RemoveArc
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
RemoveArc
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
RemoveArc
forVec<BTreeMap<usize, W>>
. - Implement
RemoveArc
forVec<BTreeSet<usize>>
. - Implement
RemoveArc
for[BTreeMap<usize, W>; V]
. - Implement
RemoveArc
for[BTreeMap<usize, W>]
. - Implement
RemoveArc
for[BTreeSet<usize>; V]
. - Implement
RemoveArc
for[BTreeSet<usize>]
.
Changed
RemoveArc::remove_arc
returns abool
indicating whether it removed the arc.
Added
- Implement
Outdegree
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
Outdegree
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
Outdegree
forBTreeMap<usize, Vec<usize>>
. - Implement
Outdegree
forVec<BTreeMap<usize, W>>
. - Implement
Outdegree
forVec<BTreeSet<(usize, W)>>
. - Implement
Outdegree
forVec<BTreeSet<usize>>
. - Implement
Outdegree
forVec<HashMap<usize, W>>
. - Implement
Outdegree
forVec<HashSet<(usize, W)>>
. - Implement
Outdegree
forVec<HashSet<usize>>
. - Implement
Outdegree
forVec<Vec<(usize, W)>>
. - Implement
Outdegree
forVec<Vec<usize>>
. - Implement
Outdegree
for[BTreeMap<usize, W>; V]
. - Implement
Outdegree
for[BTreeMap<usize, W>]
. - Implement
Outdegree
for[BTreeSet<(usize, W)>; V]
. - Implement
Outdegree
for[BTreeSet<(usize, W)>]
. - Implement
Outdegree
for[BTreeSet<usize>; V]
. - Implement
Outdegree
for[BTreeSet<usize>]
. - Implement
Outdegree
for[HashMap<usize, W>; V]
. - Implement
Outdegree
for[HashMap<usize, W>]
. - Implement
Outdegree
for[HashSet<(usize, W)>; V]
. - Implement
Outdegree
for[HashSet<(usize, W)>]
. - Implement
Outdegree
for[HashSet<usize>]; V
. - Implement
Outdegree
for[HashSet<usize>]
. - Implement
Outdegree
for[Vec<(usize, W)>; V]
. - Implement
Outdegree
for[Vec<(usize, W)>]
. - Implement
Outdegree
for[Vec<usize>; V]
. - Implement
Outdegree
for[Vec<usize>]
.
Changed
- Breaking: Remove
Outdegree
forVec<HashMap<K, W>>
. - Breaking: Remove
Outdegree
forVec<HashSet<T>>
. - Breaking: Remove
Outdegree
forVec<Vec<T>>
. - Breaking: Remove
Outdegree
for[HashMap<K, W>; V]
. - Breaking: Remove
Outdegree
for[HashMap<K, W>]
. - Breaking: Remove
Outdegree
for[HashSet<T>; V]
. - Breaking: Remove
Outdegree
for[HashSet<T>]
. - Breaking: Remove
Outdegree
for[Vec<T>; V]
. - Breaking: Remove
Outdegree
for[Vec<T>]
.
Added
- Implement
IterWeightedArcs
forVec<BTreeMap<usize, W>>
. - Implement
IterWeightedArcs
forVec<BTreeSet<(usize, W)>>
. - Implement
IterWeightedArcs
for[BTreeMap<usize, W>; V]
. - Implement
IterWeightedArcs
for[BTreeMap<usize, W>]
. - Implement
IterWeightedArcs
for[BTreeSet<(usize, W)>; V]
. - Implement
IterWeightedArcs
for[BTreeSet<(usize, W)>]
. - Implement
IterWeightedArcs
forBTreeMap<usize, Vec<(usize, W)>>
. - Implement
IterWeightedArcs
forBTreeMap<usize, BTreeSet<(usize, W)>>
. - Implement
IterWeightedArcs
forBTreeMap<usize, BTreeMap<usize, W>>
.
Removed
- Breaking: Remove
IterVertices
forHashMap<_>
.
Added
- Implement
IterOutNeighbors
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IterOutNeighbors
forBTreeMap<usize, Vec<usize>>
. - Implement
IterOutNeighbors
forVec<BTreeSet<usize>>
. - Implement
IterOutNeighbors
for[BTreeSet<usize>; V]
. - Implement
IterOutNeighbors
for[BTreeSet<usize>]
.
Fixes
- Fix benchmark imports.
Added
- Implement
IsSimple
forVec<BTreeSet<usize>>
. - Implement
IsSimple
for[BTreeSet<usize>]
. - Implement
IsSimple
for[BTreeSet<usize>; V]
. - Implement
IsSimple
forBTreeSet<(usize, usize)>
. - Implement
IsSimple
forBTreeSet<(usize, usize, W)>
. - Implement
IterArcs
forBTreeSet<(usize, usize)>
. - Implement
IterWeightedArcs
forBTreeSet<(usize, usize, W)>
.
Changed
- Breaking: Rename
bfs::min_distances
tobfs::distances
. - Breaking: Rename
bfs::min_distances_single_source
tobfs::distances_single_source
. - Breaking: Rename
dijkstra::min_distances
todijkstra::distances
. - Breaking: Rename
dijkstra::min_distances_single_source
todijkstra::distances_single_source
.
Added
- Add logo to
README
.
Added
- Implement
Order
forVec<BTreeSet<(usize, W)>>
. - Implement
Order
forVec<HashSet<(usize, W)>>
. - Implement
Order
for[BTreeSet<(usize, W)>; V]
. - Implement
Order
for[BTreeSet<(usize, W)>]
. - Implement
Order
for[HashSet<(usize, W); V]
. - Implement
Order
for[HashSet<(usize, W)]
.
Fixed
- Fix
crosscountry
benchmark. - Fix
shortestpath1
benchmark. - Fix
small_graph_1
benchmark.
Added
- Implement
IsArc
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
IsArc
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
IsArc
forBTreeSet<(usize, usize)>
. - Implement
IsArc
forVec<BTreeMap<usize, W>>
. - Implement
IsArc
forVec<BTreeSet<usize>>
. - Implement
IsArc
for[BTreeMap<usize, W>; V]
. - Implement
IsArc
for[BTreeMap<usize, W>]
. - Implement
IsArc
for[BTreeSet<usize>; V]
. - Implement
IsArc
for[BTreeSet<usize>]
.
Added
- Implement
Order
forVec<BTreeMap<usize, W>>
. - Implement
Order
forVec<BTreeSet<usize>>
. - Implement
Order
forVec<HashMap<usize, W>>
. - Implement
Order
forVec<HashSet<usize>>
. - Implement
Order
forVec<Vec<(usize, W)>>
. - Implement
Order
forVec<Vec<usize>>
. - Implement
Order
for[BTreeMap<usize, W>; V]
. - Implement
Order
for[BTreeMap<usize, W>]
. - Implement
Order
for[BTreeSet<usize>; V]
. - Implement
Order
for[BTreeSet<usize>]
. - Implement
Order
for[HashMap<usize, W>; V]
. - Implement
Order
for[HashMap<usize, W>]
. - Implement
Order
for[HashSet<usize>; V]
. - Implement
Order
for[HashSet<usize>]
. - Implement
Order
for[Vec<(usize, W)>; V]
. - Implement
Order
for[Vec<(usize, W)>]
. - Implement
Order
for[Vec<usize>; V]
. - Implement
Order
for[Vec<usize>]
.
Removed
- Breaking: Remove
Order
forHashMap<_>
. - Breaking: Remove
Order
forVec<T>
. - Breaking: Remove
Order
for[T; V]
. - Breaking: Remove
Order
for[T]
.
Added
- Implement
Size
forBTreeMap<K, BTreeMap<K, W>>
. - Implement
Size
forBTreeMap<K, BTreeSet<T>>
. - Implement
Size
forBTreeMap<K, Vec<T>>
. - Implement
Size
forVec<BTreeMap<K, W>>
. - Implement
Size
forVec<BTreeSet<T>>
. - Implement
Size
for[BTreeMap<K, W>; V]
. - Implement
Size
for[BTreeMap<K, W>]
. - Implement
Size
for[BTreeSet<T>; V]
. - Implement
Size
for[BTreeSet<T>]
. - Implement
IsArc
forVec<HashMap<usize, W>>
. - Implement
IsArc
for[HashMap<usize, W>; V]
.
Removed
- Remove
Ord
bound from trait implementations where possible.
Added
- Implement
AddWeightedArc
forBTreeMap<usize, BTreeMap<usize, W>>
. - Implement
AddWeightedArc
forBTreeMap<usize, BTreeSet<(usize, W)>>
. - Implement
AddWeightedArc
forBTreeMap<usize, Vec<(usize, W)>>
. - Implement
AddWeightedArc
forVec<BTreeMap<usize, W>>
. - Implement
AddWeightedArc
forVec<BTreeSet<(usize, W)>>
. - Implement
AddWeightedArc
for[BTreeMap<usize, W>; V]
. - Implement
AddWeightedArc
for[BTreeMap<usize, W>]
. - Implement
AddWeightedArc
for[BTreeSet<(usize, W)>; V]
. - Implement
AddWeightedArc
for[BTreeSet<(usize, W)>]
.
Changed
- Breaking:
AddWeightedArc
forHashMap<_>
panics ifs
is not in the graph.
Added
- Implement
AddArc
forBTreeMap<usize, BTreeSet<usize>>
. - Implement
AddArc
forBTreeMap<usize, Vec<usize>>
. - Implement
AddArc
forVec<BTreeSet<usize>>
. - Implement
AddArc
for[BTreeSet<usize>; V]
. - Implement
AddArc
for[BTreeSet<usize>]
.
Added back the op
implementations for Vec
and arrays to simplify use cases.
Added
- Implement
AddArc
forVec<HashSet<usize>>
. - Implement
AddArc
forVec<Vec<usize>>
. - Implement
AddArc
for[HashSet<usize>; V]
. - Implement
AddArc
for[Vec<usize>; V]
. - Implement
AddWeightedArc
forVec<HashMap<usize, W>>
. - Implement
AddWeightedArc
forVec<HashSet<(usize, W)>>
. - Implement
AddWeightedArc
forVec<Vec<(usize, W)>>
. - Implement
AddWeightedArc
for[HashMap<usize, W>; V]
. - Implement
AddWeightedArc
for[HashSet<(usize, W)>; V]
. - Implement
AddWeightedArc
for[Vec<(usize, W)>; V]
. - Implement
Size
forVec<HashMap<K, W>>
. - Implement
Size
forVec<HashSet<T>>
. - Implement
Size
forVec<Vec<T>>
. - Implement
Size
for[HashMap<K, W>; V]
. - Implement
Size
for[HashSet<T>; V]
. - Implement
Size
for[Vec<T>; V]
. - Implement
ArcWeight
forVec<HashMap<usize, W>>
. - Implement
ArcWeight
for[HashMap<usize, W>; V]
. - Implement
Indegree
forVec<HashMap<usize, W>>
. - Implement
Indegree
forVec<HashSet<usize>>
. - Implement
Indegree
for[HashMap<usize, W>; V]
. - Implement
Indegree
for[HashSet<usize>; V]
. - Implement
IsArc
forVec<HashSet<usize>>
. - Implement
IsArc
for[HashMap<usize, W>; V]
. - Implement
IsSimple
forVec<(usize, usize)>
. - Implement
IsSimple
forVec<(usize, usize, W)>
. - Implement
IsSimple
forVec<HashSet<usize>>
. - Implement
IsSimple
for[(usize, usize); V]
. - Implement
IsSimple
for[(usize, usize, W); V]
. - Implement
IsSimple
for[HashSet<usize>; V]
. - Implement
IterArcs
forVec<(usize, usize)>
. - Implement
IterArcs
for[(usize, usize); V]
. - Implement
IterWeightedArcs
forVec<(usize, usize, W)>
. - Implement
IterWeightedArcs
for[(usize, usize, W); V]
. - Implement
IterVertices
forVec<T>
. - Implement
IterVertices
for[T; V]
. - Implement
Outdegree
forVec<HashMap<K, W>>
. - Implement
Outdegree
forVec<HashSet<T>>
. - Implement
Outdegree
forVec<Vec<T>>
. - Implement
Outdegree
for[HashMap<K, W>; V]
. - Implement
Outdegree
for[HashSet<T>; V]
. - Implement
Outdegree
for[Vec<T>; V]
. - Implement
RemoveArc
forVec<HashMap<usize, W>>
. - Implement
RemoveArc
forVec<HashSet<usize>>
. - Implement
RemoveArc
for[HashMap<usize, W>; V]
. - Implement
RemoveArc
for[HashSet<usize>; V]
. - Test
add_arc_remove_arc
forAdjacencyMatrix
. - Test
add_arc_remove_arc
forVec<HashSet<usize>>
. - Test
add_arc_remove_arc
for[HashSet<usize>; V]
.
Fixed
- Remove stray
W
type parameter inadd_arc_remove_arc
.
Added
- Implement
IsSimple
forAdjacencyMatrix
.
Fixed
IsSimple
checks for parallel arcs inHashSet<(usize, usize, W)>
.
Fixed
IsSimple
checks for parallel arcs inHashSet<(usize, usize)>
.IsSimple
checks for parallel arcs in[(usize, usize)]
.IsSimple
checks for parallel arcs in[(usize, usize, W)]
.
Fixed
- Add missing property
add_weighted_arc_remove_arc
.
Added
- Test
add_arc_is_arc
for implementors ofAddArc
andIsArc
.
Added
- Implement
IsSimple
forHashSet<(usize, usize)>
. - Implement
IsSimple
forHashSet<(usize, usize, W)>
. - Implement
IsSimple
for[(usize, usize)]
. - Implement
IsSimple
for[(usize, usize, W)]
. - Implement
IsSimple
for[HashSet<usize>]
.
Added
- Add
IsSimple
trait. - Implement
IsSimple
for[HashSet<usize>]
.
Removed
- Remove
ArcWeight
forVec<HashMap<usize, W>>
. - Remove
ArcWeight
for[HashMap<usize, W>; V]
. - Remove
IterVertices
forHashSet<T>
.
Added
- Add installation instructions to
README
. - Add example usage to
README
.
Removed
- Remove
AddArc
forVec<HashSet<T>>
. - Remove
AddArc
forVec<Vec<T>>
. - Remove
AddArc
for[HashSet<T>; V]
. - Remove
AddArc
for[Vec<T>; V]
. - Remove
AddWeightedArc
forVec<HashMap<usize, W>>
. - Remove
AddWeightedArc
forVec<HashSet<(usize, W)>>
. - Remove
AddWeightedArc
forVec<Vec<(usize, W)>>
. - Remove
AddWeightedArc
for[HashMap<usize, W>; V]
. - Remove
AddWeightedArc
for[HashSet<(usize, W)>; V]
. - Remove
AddWeightedArc
for[Vec<(usize, W)>; V]
.
Changed
- Change
iter_arcs
return type toimpl Iterator<Item = (usize, usize)>
. - Change
iter_weighted_arcs
return type toimpl Iterator<Item = (usize, usize, &W)>
. - Change
iter_weighted_arcs
return type toimpl Iterator<Item = (usize, &W)>
.
Added
- Implement
Size
for[HashMap<K, W>]
. - Implement
Size
for[HashSet<T>]
. - Implement
Size
for[Vec<T>]
. - Implement
Order
for[T]
. - Implement
ArcWeight
for[HashMap<usize, W>]
. - Implement
Indegree
for[HashMap<usize, W>]
. - Implement
Indegree
for[HashSet<usize>]
. - Implement
IsArc
for[HashMap<usize, W>]
. - Implement
IsArc
for[HashSet<usize>]
. - Implement
IterArcs
for[(usize, usize)]
. - Implement
IterWeightedArcs
for[(usize, usize, W)]
. - Implement
IterOutNeighbors
for[HashSet<usize>]
. - Implement
IterOutNeighbors
for[Vec<usize>]
. - Implement
IterVertices
for&[T]
. - Implement
IterWeightedArcs
for[HashMap<usize, W>]
. - Implement
IterWeightedArcs
for[HashSet<(usize, W)>]
. - Implement
IterWeightedArcs
for[Vec<(usize, W)>]
. - Implement
Outdegree
for[HashMap<K, W>]
. - Implement
Outdegree
for[HashSet<T>]
. - Implement
Outdegree
for[Vec<T>]
. - Implement
RemoveArc
for[HashMap<usize, W>]
. - Implement
RemoveArc
for[HashSet<usize>]
.
Changed
- Return
(&'a usize, &'a W)
fromiter_weighted_arcs
.
Removed
- Remove
Size
forVec<HashMap<K, W>>
. - Remove
Size
forVec<HashSet<T>>
. - Remove
Size
forVec<Vec<T>>
. - Remove
Size
for[HashMap<K, W>; V]
. - Remove
Size
for[HashSet<T>; V]
. - Remove
Size
for[Vec<T>; V]
. - Remove
Indegree
forVec<HashMap<usize, W>>
. - Remove
Indegree
forVec<HashSet<usize>>
. - Remove
Indegree
for[HashMap<usize, W>; V]
. - Remove
Indegree
for[HashSet<usize>; V]
. - Remove
IsArc
forVec<HashMap<usize, W>>
. - Remove
IsArc
forVec<HashSet<usize>>
. - Remove
IsArc
for[HashMap<usize, W>; V]
. - Remove
IsArc
for[HashSet<usize>; V]
. - Remove
IterArcs
forVec<(usize, usize)>
. - Remove
IterArcs
for[(usize, usize); V]
. - Remove
IterWeightedArcs
forVec<(usize, usize, W)>
. - Remove
IterWeightedArcs
for[(usize, usize, W); V]
. - Remove
IterVertices
forVec<T>
. - Remove
IterVertices
for[T; V]
. - Remove
Outdegree
forVec<HashMap<usize, W>>
. - Remove
Outdegree
forVec<HashSet<usize>>
. - Remove
Outdegree
forVec<Vec<T>>
. - Remove
Outdegree
for[HashMap<usize, W>; V]>
. - Remove
Outdegree
for[HashSet<usize>; V]>
. - Remove
Outdegree
for[Vec<T>; V]
. - Remove
RemoveArc
forVec<HashMap<usize, W>>
. - Remove
RemoveArc
forVec<HashSet<usize>>
. - Remove
RemoveArc
for[HashMap<usize, W>; V]
. - Remove
RemoveArc
for[HashSet<usize>; V]
.
Fix
- Fix
README
formatting.
Added
- Add more tests to
algo::bfs
. - Add more tests to
algo::dijkstra
. - Implement
AddArc
for[HashSet<usize>]
. - Implement
AddArc
for[Vec<usize>]
. - Implement
AddWeightedArc
for[HashMap<usize, W>]
. - Implement
AddWeightedArc
for[HashSet<(usize, W)>]
. - Implement
AddWeightedArc
for[Vec<(usize, W)>]
. - Implement
IterArcs
for[(usize, usize)]
. - Implement
IterWeightedArcs
for[(usize, usize, W)]
.
Added
- Add "algorithms" and "mathematics" to
Cargo.toml
categories. - Add "bfs" and "dijkstra" to
Cargo.toml
keywords.
Removed
- Remove redundant
homepage
metadata.
Added
- Add
authors
toREADME.md
. - Add a documentation test for
AdjacencyMatrix::new
. - Add a documentation test for
AdjacencyMatrix::toggle
. - Add implementation documentation for
AddArc
. - Add implementation documentation for
AddWeightedArc
. - Add implementation documentation for
Size
. - Add implementation documentation for
Order
. - Add implementation documentation for
ArcWeight
. - Add implementation documentation for
Indegree
. - Add implementation documentation for
IsArc
. - Add implementation documentation for
IterArcs
. - Add implementation documentation for
IterWeightedArcs
. - Add implementation documentation for
IterOutNeighbors
. - Add implementation documentation for
IterWeightedArcs
. - Add implementation documentation for
Outdegree
. - Add implementation documentation for
RemoveArc
.
Changed
- Move
ops
toop
. - Adapt benchmark code to linting rules.
- Move the documentation test trait properties to
op::prop
. - Move the lints from
lib.rs
toCargo.toml
.
Added
- Add a documentation test for
op::add_weighted_arc::AddWeightedArc
. - Add a documentation test for
op::size::Size
. - Add a documentation test for
op::order::Order
. - Add a documentation test for
op::arc_weight::ArcWeight
. - Add a documentation test for
op::indegree::Indegree
. - Add a documentation test for
op::is_arc::IsArc
. - Add a documentation test for
op::iter_arcs::IterArcs
. - Add a documentation test for
op::iter_weighted_arcs::IterWeightedArcs
. - Add a documentation test for
op::iter_out_neighbors::IterOutNeighbors
. - Add a documentation test for
op::iter_vertices::IterVertices
. - Add a documentation test for
op::iter_weighted_arcs::IterWeightedArcs
. - Add a documentation test for
op::outdegree::OutDegree
. - Add a documentation test for
op::remove_arc::RemoveArc
. - Add documentation for
op::add_weighted_arc
. - Add documentation for
op::size
. - Add documentation for
op::order
. - Add documentation for
op::arc_weight
. - Add documentation for
op::indegree
. - Add documentation for
op::is_arc
. - Add documentation for
op::iter_arcs
. - Add documentation for
op::iter_weighted_arcs
. - Add documentation for
op::iter_out_neighbors
. - Add documentation for
op::iter_vertices
. - Add documentation for
op::iter_weighted_arcs
. - Add documentation for
op::outdegree
. - Add documentation for
op::remove_arc
.
Added
- Add a documentation test for
op::add_arc::AddArc
. - Add documentation for
op::add_arc
. - Add a module-level documentation test for
algo::bfs
. - Add a module-level documentation test for
algo::dijkstra
.
Added
- Add
bfs::predecessors_single_source
. - Add
dijkstra::predecessors_single_source
.
Added
- Implement
Indegree
forHashMap<usize, HashMap<usize, W>>
. - Implement
IsArc
forHashSet<(usize, usize)>
. - Implement
IterVertices
forHashSet<T>
. - Implement
IterWeightedArcs
forVec<HashMap<usize, W>>
. - Implement
IterWeightedArcs
for[HashMap<usize, W>; V]
. - Implement
Outdegree
forVec<HashMap<usize, W>>
. - Implement
Outdegree
for[HashMap<usize, W>; V]
.
Removed
- Remove the
VertexWeight
trait.
Changed
- Rename
*::shortest_paths
topredecessors
.
Added
- Add
algo::bfs::shortest_paths
.
Added
- Add
algo::dijkstra::shortest_paths
.
Changed
- Move
algo::dijkstra::weighted
toalgo::dijkstra
. - Remove
algo::dijkstra::unweighted
.
Added
- Add
algo::bfs::min_distances_single_source
. - Add
algo::bfs::min_distances
. - Add benchmarks for
algo::bfs::*
Added
- Add
algo::dijkstra::unweighted::shortest_paths
. - Test
algo::dijkstra::unweighted::min_distances
with multiple source vertices. - Test
algo::dijkstra::weighted::min_distances
without sources.
Changed
- Update function names in
README
.
Added
- Add
algo::dijkstra::unweighted::min_distances_single_source
. - Add a documentation test example for
algo::dijkstra::unweighted::min_distances_single_source
- Add a documentation test example for
algo::dijkstra::unweighted::min_distances
- Add a documentation test example for
algo::dijkstra::weighted::min_distances_single_source
.
Changed
- Move
algo::DijkstraUnweighted::dijkstra
toalgo::dijkstra::unweighted::min_distances
. - Move
algo::DijkstraWeighted::dijkstra
toalgo::dijkstra::weighted::min_distances
. - Move
algo::dijkstra::dijkstra_sssp_weighted
toalgo::dijkstra::weighted::min_distances_single_source
.
Removed
- Remove the
new
benchmark.
Added
- Add GitHub Action on push to main and PRs on main.
- Add
dijkstra_sssp_weighted
.
Changed
- Make
CHANGELOG.md
adhere to keep a changelog. - Test
Dijkstra.Unweighted.dijkstra_sssp_unweighted
for every source vertex.
Added
- Add a documentation test example for
Weighted.dijkstra
.
Fixed
- Fix trait descriptions in
README.md
.
Added
- Add
dijkstra_sssp_unweighted
. - Add missing documentation for the public API.
Changed
- Enable selected lints from the
restriction
group. - Export
algo
,op
, andrepr
modules. - Group lints into groups, restrictions,
rustdoc
, andrustc
lints. - Use
core
andalloc
imports overstd
where possible.
Fixed
- Make descriptions more consistent.
Changed
- Rename
Indegree.in_degree
toIndegree.indegree
. - Rename
Outdegree.out_degree
toOutdegree.outdegree
.
- Initial release