'Tree-Independent Dual-Tree Algorithms' is an amazing paper.
nn works without pruning