I've no experience with forest
(DG's answer seems a good place to start) but have recreated one of the figures in the book using the tikz trees
library (only), in case you decided that the forest package wasn't necessary and/or were already familiar with drawing in tikz.
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\begin{tikzpicture}[
level 1/.style={grow via three points={one child at (0,1) and two children at (-.5,1) and (.5,1)}},
level 2/.style={grow via three points={one child at (0,1) and two children at (-.25,1) and (.25,1)}},
level 3/.style={grow via three points={one child at (0,1) and two children at (-.125,1) and (.125,1)}},
every node/.style={circle, fill=black, inner sep = .25ex, minimum size=.25ex}]
\node {}
child{
node {}
child{
node {}
child{node {}}
child[very thick]{node {}}
child{node {}}
}
child{
node {}
}
}
child{
node {}
child{
node {}
child foreach \x in {1,2,3} {node {}}
}
child{
node {}
}
}
child{
node {}
child{
node {}
child[red]{node {}}
child[missing]
}
child{
node {}
}
}
child{
node {}
child{
node {}
}
child{
node {}
child{node {}}
child[missing]
child{node {}}
}
child{
node {}
}
};
\end{tikzpicture}

The drawing trees with tikz is explained in section 21 Making Trees Grow of the tikz manual. Noteworthy in this example:
- The coordinates in each
style
at the start of the picture determine the placement of children at the level indicated
- Individual children (edges) and nodes (vertices) can have their own styling (for example,
very thick
)
- The
missing
key is useful to create a child that 'takes up space' but is not visible (such as that adjacent to the edge highlighted in red above)
- If all children are going to be the same, you can use a
foreach
construct