93
правки
Изменения
→Динамическое программирование по подмножествам
Можно решить задачу перебором всевозможных перестановок. Для этого нужно сгенерировать все <tex> N! </tex> всевозможных перестановок вершин исходного графа, подсчитать для каждой перестановки длину маршрута и выбрать минимальный из них. Но тогда задача оказывается неосуществимой даже для достаточно небольших <tex>N</tex>. Сложность алгоритма <tex>O(N!)</tex>.
==== Динамическое программирование по подмножествам (по маскам) ====
Задача о коммивояжере представляет собой поиск кратчайшего гамильтонова цикла в графе.