I quote from Artificial Intelligence: A Modern Approach:
The properties of depth-first search depend strongly on whether the graph-search or tree-search version is used. The graph-search version, which avoids repeated states and redundant paths, is complete in finite state spaces because it will eventually expand every node. The tree-search version, on the other hand, is not complete [...]. Depth-first tree search can be modified at no extra memory cost so that it checks new states against those on the path from the root to the current node; this avoids infinite loops in finite state spaces but does not avoid the proliferation of redundant paths.
I don't understand how can graph-search be complete and tree-search be not, being a tree a particular graph.
Besides, I don't clearly get the difference between "infinite loops" and "redundant paths"...
May someone explain this to me?
ps. For those who have the book it's page 86 (3rd edition).