title: How many components in a directed graph?
body: <p>I have the following graph:</p>
  <p><a href="https://i.stack.imgur.com/IPYRz.png" rel="noreferrer"><img src="https://i.stack.imgur.com/IPYRz.png" alt="directed graph" /></a></p>
  
  <p>The optimal solution is to start dfs from vertex (3) then i will get one component, but when we start the dfs from vertex (1) then (3) i will get two components.
  The question is:
  I want to know how many components in this graph? or on other way, what is the minimum number of dfs needed to cover all the graph?</p>
  <p>what is the needed algorithm for doing this?</p>