Bit pattern trees are used to speed up the enumeration of adjacent modes. All tree implementations are similar, most use the recursive enumeration approach described in [1].
The main difference between the various tree versions in the subpackages are the use of different adjacency tests.
Notes
More recent bit pattern tree implementations are contained in the
{@link ch.javasoft.metabolic.efm.tree} package. Those classes support different
memory types, that is, storage of the trees in-core (in memory) or out-of-core
(for instance on disk). Those implementations generally offer higher
flexibility, for instance, the same tree implementation can be used in
combination with various adjacency test methods.
References