//! Collection of graph algorithms.
//!
//! Algorithms are organized into problems they solve and these problems are
//! represented by a single [type](#structs). The actual algorithm to solve the
//! problem is **automatically selected** by gryf, unless explicitly specified
//! otherwise.
//!
//! Parametrization of an algorithm is done by using a [builder pattern]. The
//! general approach is to call `Problem::on(graph)` method, followed by setters
//! of optional algorithm parameters and completed by a `run` method with
//! required algorithm parameters. The returned value is the type that
//! represents the problem solution which provides a convenient API for the
//! properties of the solution.
//!
//! For simple cases, there are aliases in form of a [function](#functions).
//!
//! [builder pattern]:
//! https://rust-unofficial.github.io/patterns/patterns/creational/builder.html
pub use ;