Исходя из моего понимания алгоритма, IDDFS (итеративно-углубленный поиск в глубину) - это просто поиск в глубину, выполняемый несколько раз, что углубляет уровень узлов, ищущих на каждой итерации. Следовательно, требования к памяти такие же, как при поиске по глубине, поскольку максимальная глубина итерации - это только поиск по полной глубине.
Таким образом, для примера дерева, которое вы дали, первая итерация посетила бы узлы A, вторая итерация посетила бы узлы A, B и C, а третья итерация посетила бы все узлы дерева.
Причина, по которой он реализован подобным образом, заключается в том, что, если поиск имеет ограничение по времени, тогда алгоритм, по крайней мере, будет иметь некоторое представление о том, что такое узел «хорошего скоринга», если он достигает предела времени до выполнения полный обход дерева.
Это отличается от поиска в ширину, потому что на каждой итерации узлы посещаются так же, как при поиске в глубину, а не в поиске в ширину. Как правило, алгоритмы IDDFS, вероятно, будут хранить «лучший оценочный» узел, найденный на каждой итерации.