GATE CSE
First time here? Checkout the FAQ!
x
+2 votes
289 views

 

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

asked in Programming by Active (2.2k points)  
edited by | 289 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?

1 Answer

+5 votes
Best answer

Given graph according to adjacency list . Answer will be 3.

 Solution :

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

answered by Veteran (48k points)  
selected by

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.


Top Users Jul 2017
  1. Bikram

    4386 Points

  2. manu00x

    2464 Points

  3. Debashish Deka

    1850 Points

  4. joshi_nitish

    1686 Points

  5. Arjun

    1340 Points

  6. Hemant Parihar

    1184 Points

  7. Arnab Bhadra

    1112 Points

  8. Shubhanshu

    1080 Points

  9. Ahwan

    900 Points

  10. rahul sharma 5

    732 Points


24,031 questions
30,983 answers
70,430 comments
29,358 users