I am using a Graph with two types of edges. It's a directed and weighted(Non negative weight <=1) graph. The maximum out degree of a node is 2. I need to find if there exist a path between two distinct nodes(with only 1st type of edge). If it exists, then I need to find out all paths between the same two distinct nodes with only 2nd type of edges. Please suggest what will be efficient??? DFS or Dijkstra's or bellman ford????