Why do we require parent for dfs traversal

Why do we require parent for dfs traversal

@sahazeer123,
Because we don’t want infinite loop, in a tree 1 <-> 2, adjacency will be gr[1]={2}, gr[2]={1}, thus dfs(1) will call dfs(2), which will call dfs(1), indefinitely.