Algorithms and Data Structures for Faster Nearest-Neighbor Classification