Я не эксперт, но я некоторое время изучал статью в Википедии, и мое объяснение было бы именно этим (надеюсь, я хорошо понял:)
Скажем, у нас есть матрица 4x4 узлов.
A, B, C, D - направления, которые мы можем выбрать в данный момент времени (север, юг, восток, запад)
Алгоритм A * начинает поиск.
A
Очередь: B, C, D
AA
Очередь: B, C, D, AB, AC, AD
AAA -> Цель
Очередь: B, C, D, AB, AC, AD, AAB, AAC, AAD
Цель достигнута, но есть и другие возможности для рассмотрения.
D
Очередь: B, C, AB, AC, AD, AAB, AAC, AAD
DC
Очередь: B, C, AB, AC, AD, AAB, AAC, AAD, DA, DB, DD
DCA
Очередь: B, C, AB, AC, AD, AAB, AAC, AAD, DA, DB, DD, DCB, DCC, DCD
DCAB -> Цель
Очередь: B, C, AB, AC, AD, AAB, AAC, AAD, DA, DB, DD, DCB, DCC, DCD, DCAA, DCAC, DCAD
И т. Д.
Как видите, на каждый шаг в очередь добавляются еще три узла.
Поскольку A * следует только ациклическим путям [1], максимальное количество шагов на маршрут составляет 15.
Максимальное количество возможных маршрутов в этом случае составляет 3 ^ 15 или направления ^ узлов.
Поскольку на каждом маршруте 15 шагов, наихудшие шаги - 15 * 3 ^ 15.
В самом худшем случае каждый шаг, который когда-либо был сделан, «неправильный».
В этом случае 3 * 15 * 3 ^ 15 узлов находятся в очереди перед поиском ответа.
Таким образом, наихудшее количество узлов, которые должны храниться в памяти, является постоянным, в зависимости от количества доступных узлов. Другими словами, использование памяти экспоненциально количеству узлов.
[1] http://www.autonlab.org/tutorials/astar08.pdf, слайд 15