Я реализую алгоритм Кристофидеса для получения 3/2-аппроксимации TSP в графах, которые подчиняются неравенство треугольника. У меня уже есть код для вычисления минимального остовного дерева с использованием алгоритма Крускала и матрицы смежности.
Теперь я хочу реализовать Christofides, удвоив ребра и найдя тур Эйлера, а затем сокращая повторяющиеся узлы. Как выполнить этот шаг? Мне нужен алгоритм и (необязательно) код C.
Спасибо!