class_docstr: Class for optimized implementation of Backdoor variable search between the source nodes and the target nodes.
docstr: Path search using DFS.
  
  :param graph: Adjacency list of the graph under consideration.
  :param node1: Current node being considered.
  :param node2: Target node.
  :path path_dict: Dictionary of node pairs.
docstr_tok: ["Path","search","using","DFS",".",":","param","graph",":","Adjacency","list","of","the","graph","under","consideration",".",":","param","node1",":","Current","node","being","considered",".",":","param","node2",":","Target","node",".",":","path","path_dict",":","Dictionary","of","node","pairs","."]
code: def _path_search(self, graph, node1, node2, path_dict):
      """
      Path search using DFS.
  
      :param graph: Adjacency list of the graph under consideration.
      :param node1: Current node being considered.
      :param node2: Target node.
      :path path_dict: Dictionary of node pairs.
      """
      vis = set()
      self._path_search_util(
          graph, node1, node2, vis, [], path_dict, is_blocked=False
      )
  
imports: import networkx
  from dowhy.utils.graph_operations import adjacency_matrix_to_adjacency_list
label_desc: Use image node_id 5 for calling the Backdoor obj's underlying member method code with example usage: obj._path_search(graph, node1, node2, path_dict) without return types