У меня есть алгоритм обхода дерева, который обычно работает за O(bm), где b — коэффициент ветвления, а m — максимальная глубина.
Используя итеративное углубление, этот алгоритм запускается снова и снова, m раз с увеличением глубины:
O(bm) = b⁰ + b¹ + b² + ... + bm
Основываясь на моем ограниченном понимании временной сложности, мы берем самый большой элемент, потому что он является наиболее значимым во времени, и поэтому этот элемент будет bm, где m — максимальная достигнутая глубина.
Итак, зная это, я бы сделал вывод, что алгоритм итеративного углубления также работает за O(bm).
Однако мне трудно понять с логической точки зрения, как обход дерева может иметь одинаковую временную сложность, независимо от того, выполняется ли алгоритм один раз на глубине m или m раз до глубины m.
bm по своей сути меньше, чем Σk=0,..,mbk. Следовательно, не должна ли временная сложность при итеративном углублении быть выше?
Или я чего-то не понимаю?