title: Find all paths starting from a source node using BFS
body: <p>I have a directed graph, and i wrote a code to find all paths from a starting node using bfs algorithm. Here is my code:</p>
  
  <pre><code>G = nx.DiGraph()
  G.add_path([1, 2])
  G.add_path([1, 3])
  G.add_path([2, 7])
  G.add_path([3, 4])
  G.add_path([4, 2])
  G.add_path([4, 6])
  G.add_path([5, 2])
  G.add_path([6, 5])
  G.add_path([7, 8])
  G.add_path([8, 9])
  G.add_path([8, 10])
  
  def bfs(G, s):
      q = queue.Queue()
      visited = []
      q.put(s)
      visited.append(s)
      while not q.empty():
          v = q.get()
          for node in G.neighbors(v):
              if node not in visited:
                  q.put(node)
                  visited.append(node)
      print(visited)
  
  bfs(G, 3)
  </code></pre>
  
  <p>The problem with the algorithm is that i can find all the nodes that will be visited from the starting node but i cant save(print) every path which i found. How can i modify my algorithm to implement that?</p>