228 views

How many times 8 is pushed into stack ? a detail answer will be welcomed.

edited | 228 views
What is the starting vertex of DFS?? SInce answer will differ based on this..
should be 1

Habibkhan . for the first part what will be the ans . According to me all vertices will pushed in to stack .

Why will a vertex be added more than once in the stack? https://www.tutorialspoint.com/data_structures_algorithms/depth_first_traversal.htm I checked and I still don't get how any node will be added more than once. Also, all nodes will be added in the stack. How can there be some nodes which are not added in the stack?

Solution :

X means already visted  and Down arrow means need to check.

selected

Every element is pushed onto stack only once, because in typical DFS implementation we check whether a vertex is visted or not befor calling dfs.

if(visited[i]==0) dfs(i)

If dfs(8) is excuted once means vertex-8 is pushed once, then next time visited[8]=1. And condition evaluates to be false and dfs is not called on vertex 8.

And What will be answer for part-1 of question?

@Anirudh sir What will be answer for part-1 of question?
Ideally all will be pushed, but since that is not the option, so i guess it is option 1.