  In 1996, Bodlaender showed the celebrated result that an optimal tree
decomposition of a graph of bounded treewidth can be found in linear time. The
algorithm is based on an algorithm of Bodlaender and Kloks that computes an
optimal tree decomposition given a non-optimal tree decomposition of bounded
width. Both algorithms, in particular the second, are hardly accessible. In our
review, we present them in a much simpler way than the original presentations.
In our description of the second algorithm, we start by explaining how all tree
decompositions of subtrees defined by the nodes of the given tree decomposition
can be enumerated. We group tree decompositions into equivalence classes
depending on the current node of the given tree decomposition, such that it
suffices to enumerate one tree decomposition per equivalence class and, for
each node of the given tree decomposition, there are only a constant number of
classes which can be represented in constant space. Our description of the
first algorithm further simplifies Perkovic and Reed's simplification.
