The Gateway to Computer Science Excellence
First time here? Checkout the FAQ!
x
+2 votes
456 views

 

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

asked in Programming by Loyal (2.6k points)
edited by | 456 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 (55.6k 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.


Quick search syntax
tags tag:apple
author user:martin
title title:apple
content content:apple
exclude -tag:apple
force match +apple
views views:100
score score:10
answers answers:2
is accepted isaccepted:true
is closed isclosed:true

29,154 questions
36,976 answers
92,139 comments
34,816 users