## Expand description

This is a library of tools for creating and manipulating complex networks.

From Wikipedia:

Complex network is a graph-like structure with non-trivial characteristics. A complex network is a graph (network) with non-trivial topological features—features that do not occur in simple networks such as lattices or random graphs but often occur in networks representing real systems. The study of complex networks is a young and active area of scientific research inspired largely by empirical findings of real-world networks such as computer networks, biological networks, technological networks, brain networks, climate networks and social networks.

## Modules

Breadth-first search module.

Library-specific utility module.

Information spread source location module.

Susceptible-infected information spread module.

## Structs

`Network`

is the main graph data structure. Internally it is represented as an adjacency
list of node objects.

## Enums

Decides the algorithm used to connect the nodes during `Network`

’s initialization. It can
also be used for identification purposes when the `Model::Custom`

variant is used.

`Weight`

determines the weight of each link in the network (ie. the probability of the
infection spreading through it in each time step).