Изменения

Перейти к: навигация, поиск

Задача о порядке перемножения матриц

23 байта добавлено, 07:04, 11 декабря 2011
Динамическое программирование
=== Динамическое программирование ===
Одно из простых решений — это меморизация. Каждый раз, когда мы считаем минимальную стоимость перемножения определенной подпоследовательности, давайте мы будем запоминать ответ. Если мы когда либо ещё раз захотим посчитать это ещё раз, то мы уже будет иметь ответ и не будем пересчитывать. Поскольку существует всего около <math>n^2/2</math>подотрезков, где ''n'' — это количество матриц, то память занимаемая программой будет не так велика. Можно сказать, что с помощью этого простого трюка мы уменьшили асимптотику алгоритма с O(<math>2^n</math>) до O(<math>n^3</math>), что является достаточно эффективным для реальных приложений.
Псевдокод:
90
правок

Навигация