Implement Depth First Search Algorithm