1. A method comprising, by a computing device: receiving a content object; and constructing a first k-dimensional tree in response to determining a second k-dimensional tree is storing information corresponding to a number of content objects that is equal to a number of nodes of the second k-dimensional tree, wherein: the number of nodes of the second k-dimensional tree is smaller than a number of nodes of the first k-dimensional tree, the first K-dimensional tree having a number of nodes at least equal to the received object plus the number of nodes of the second k-dimensional tree, the number of nodes of the first k-dimensional tree has twice the number of nodes of the second k-dimensional tree, and each node being configured to store a content object; storing information corresponding to the received content object as a node in the first k-dimensional tree; and moving information corresponding to a stored content object from each node of the second k-dimensional tree to a corresponding node of the first k-dimensional tree, wherein the corresponding node of the first k-dimensional tree is identified based at least in part on content of the content object.