Никак не могу придумать адекватный алгоритм выполнения задачи, гуглил перегуглил не нашел ничего подходящего, разве что Эйлеров путь, но это немножко не то.
Суть задачи: Нужно найти такой кратчайший маршрут по графу, что бы он проходил по всем ребрам, в оба направления, сам граф задается списком ребер ( матрицей смежности тоже вариант)
Подскажите алгоритм работы
Эйлеров путь как раз то. Он проходит по всем рёбрам по одному разу, т.е. короче сделать нельзя.
Надо только модифицировать граф - разделить каждое ребро на две противоположно направленных дуги.
A - B A => B
| <=
| ^ |
C | v
С
А дальше - алгоритм Хирхольцера, например. В трёх словах его описание
Сборка персонального компьютера от Artline: умный выбор для современных пользователей