(1) В алгоритмах поиска по графу [часто используемых в AI] главное преимущество DFS - эффективность использования пространства . Это его главное преимущество на BFS. Однако, , если вы отслеживаете посещенные узлы, вы теряете это преимущество , так как вам нужно хранить все посещенные узлы в памяти. Не забывайте, что размер посещаемых узлов резко увеличивается со временем, а для очень больших / бесконечных графиков - может не поместиться в памяти.
(2) Иногда DFS может находиться в бесконечной ветви [в бесконечных графах]. Бесконечная ветвь - это ветвь, которая не заканчивается [всегда имеет «больше сыновей»], а также не доставляет вас к вашему целевому узлу, поэтому для DFS вы можете бесконечно расширять эту ветвь и «пропустить» хорошую ветку, это приводит к целевому узлу.
Бонус:
Вы можете преодолеть этот недостаток в DFS, сохранив относительно небольшой объем памяти, используя комбинацию DFS и BFS: Итеративное углубление DFS