Recognizing and Finding Spanning Trees in Graph Theory