Breadth-First Search algorithm is used in searching for a tree data structure for a node satisfying the given property. The algorithm begins at the tree root and goes further to explore all the tree nodes at present depth before it moves on to the nodes at the next depth level. The extra memory, usually a queue, should be needed to keep track of the child nodes that were encountered but not explored.