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

 

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

asked in Programming by Active (2.3k points)  
edited by | 356 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 (49.3k 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 Sep 2017
  1. Habibkhan

    8796 Points

  2. rishu_darkshadow

    3588 Points

  3. Warrior

    2914 Points

  4. Arjun

    2840 Points

  5. A_i_$_h

    2550 Points

  6. manu00x

    2268 Points

  7. nikunj

    1990 Points

  8. Bikram

    1874 Points

  9. makhdoom ghaya

    1820 Points

  10. SiddharthMahapatra

    1718 Points


26,346 questions
33,929 answers
80,525 comments
31,231 users