Основное различие между первой глубиной и кулаком ширины - это порядок, в котором вы исследуете узлы на своей "границе" (список узлов, которые вам еще предстоит исследовать).
Если вы добавите исходящие узлы из вашего текущего узла в конец этого списка, вы будете тестировать каждую возможность на «уровне» (для упрощения представьте это в виде дерева), прежде чем переходить кследующий уровень, так что у вас есть поиск в ширину.
Если, с другой стороны, вы исследуете вновь добавленные узлы (исходящие узлы из вашей текущей позиции), до узлов, которые вы добавили ранее (которые принадлежат к «верхним» уровням дерева), то сначала вы будете исследовать глубину дерева.
С точки зрения структур данных вам нужен стек вместо очереди, но я думаю,объяснение может пригодиться.