Изменения

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

Задача коммивояжера, ДП по подмножествам

596 байт добавлено, 07:39, 1 декабря 2011
Псевдокод
Данное решение требует <tex>O({2^n}\times{n})</tex> памяти и <tex>O({2^n}\times{n^2})</tex> времени.
==== Псевдокод =Реализация ===Реализуем данный алгоритм методом "динамика назад": //Все переменные используются из описания алгоритма <codebr /> inputData(); //разработкасчитывание данных <br /code> d[0][0] = 0; for i = 0 to n - 1 for mask = 0 to mask = 2 ^ n - 1 for j = 0 to n - 1 if j-ий бит mask == 1 if p(i, j) существует d[i][mask] = min(d[i][mask], d[j][mask - 2 ^ j]); else d[i][mask] = inf; writeData(); // запись данных, ответ храниться в d[0][2 ^ n - 1]
== Ссылки ==
93
правки

Навигация