Breadth-First
Searching a Labeled Tree
lfindInTreeBF(P, T) = findInForest(P, [T]);
lfindInForest(P, [ ]) => [ ];
l findInForest(P, [Tree | Trees]) =>
Root
= root(Tree),
foundInRest
= findInForest(P, append(Trees, getOffspring(Tree))),
P(Root)
? [Root | foundInRest] : foundInRest;

forest
of one tree