This is amazing, I remember learning depth first search and breadth first search in college, but they never had us take the next step to meet in the middle. I think that would have been cool, once you implement one, it doesn't seem much more difficult to implement meet in the middle, and it would have been cool to measure the performance between them.