The problem of enumerating (rooted or unrooted) trees is a very classical one in enumerative combinatorics.
Solving this problem actually led to general methods for enumerating other tree-like structures,
where generating functions play a key role.
We will review some of these methods in Section .
These methods have successfully been used by Semple and Steel [1]}
to enumerate two families of phylogenetic networks,
namely unicyclic networks and unrooted level-1 networks (also called galled trees).
Their results include an equation defining implicitly the generating function
for unrooted level-1 networks (refined according to two parameters),
which yields a closed formula for the number of unrooted level-1 networks
with \(n\)  (labeled) leaves, \(k\)  cycles, and a total of \(m\)  edges (also called arcs) across all the cycles.
An upper bound on the number of unlabeled galled trees is also provided in [2]}.
Other counting results have been more recently obtained
on other families of phylogenetic networks, for example on so-called normal and tree-child networks [3]}, [4]} and on galled networks [5]}.
