Modified searchStrategy's interface to increase flexibility in algorithm implementation.
Implemented depthFirst as an alternative search strategy