text: '''
  If you know a solution is not far from the root of the tree:
  BFS
  
  If the tree is very deep and solutions are rare: 
  BFS (DFS will take a long time, although memory concerns with BFS)
  
  If the tree is very wide:
  DFS (BFS will need too much memory)
  
  If solutions are frequent but located deep in the tree:
  DFS
  
  Determining whether a path exists between two nodes:
  DFS
  
  Finding the shortest path:
  BFS
  '''