Hmmm.. a frequent question on collision detection (other than 'how do I do it?!') - how do I do it efficiently! Good ol' trees come to the rescue. Not a bad read just for brushing up on base level quad tree info.
Many games require the use of collision detection algorithms to determine when two objects have collided, but these algorithms are often expensive operations and can greatly slow down a game. In this article we’ll learn about quadtrees, and how we can use them to speed up collision detection by skipping pairs of objects that are too far apart to collide.