Adaptive k-d tree

An adaptive k-d tree is a tree for multidimensional points where successive levels may be split along different dimensions.