Если вы поместите цикл в случайное место на дереве, DFS будет стремиться попасть в цикл, когда он покрыт примерно половиной дерева, и половину времени он уже пройдёт туда, где проходит цикл, и половину времени не будет (и найдет его в среднем в половине дерева), поэтому он оценит в среднем около 0,5 * 0,5 + 0,5 * 0,75 = 0,625 дерева.
Если вы поместите цикл в случайное место на дереве, BFS будет стремиться попасть в цикл только тогда, когда он оценивает слой дерева на этой глубине. Таким образом, вам обычно приходится оценивать листья двоичного дерева баланса, что обычно приводит к оценке большего количества дерева. В частности, в 3/4 времени по крайней мере одна из двух ссылок появляется в листьях дерева, и в этих случаях вы должны оценивать в среднем 3/4 дерева (если есть одна ссылка) или 7 / 8 дерева (если их два), так что вы уже ожидаете поиска 1/2 * 3/4 + 1/4 * 7/8 = (7 + 12) / 32 = 21/32 = 0,656 ... от дерева, даже не добавляя стоимость поиска дерева с циклом, добавленным от узлов листа.
Кроме того, DFS проще в реализации, чем BFS. Поэтому его следует использовать, если вы ничего не знаете о своих циклах (например, циклы, вероятно, находятся рядом с корнем, из которого вы выполняете поиск, и в этот момент BFS дает вам преимущество).