Imagine we have an N-dimensional space where each dimension can only have integer values. Imagine further that this space has a set of hypercubes scattered about, each hypercube with its own position and dimensions. How can we compile a decision tree, given a description of the hypercubes, that tells us, as quickly as possible, which hypercubes an arbitrary point lies inside? It sounds like solutions exist: could someone point me in the right direction?