The dynamic programming technique employs a lexical tree that is encoded in computer
memory as a flat representation in which the nodes of each generation occupy contiguous
memory locations. The traversal algorithm employs a set of traversal rules whereby
nodes of a given generation are processed before the parent nodes of that generation.
The deepest child generation is processed first and traversal among nodes of each
generation proceeds in the same topological direction.