4551
правка
Irina (обсуждение | вклад) |
Irina (обсуждение | вклад) |
||
Строка 31: | Строка 31: | ||
1: Вычислить минимальное остовное дерево T графа G. | 1: Вычислить минимальное остовное дерево T графа G. | ||
2: Продублировать каждое ребро T и получить эйлеров мультиграф T’. | 2: Продублировать каждое ребро T и получить эйлеров мультиграф T’. | ||
3: Вычислить эйлеров путь для T (например, при помощи поиска в глубину по T). При посещении вершины эйлерова пути, которая ранее уже была посещена, эта вершина пропускается, и мы переходим к следующей непосещенной вершине эйлерова пути. (Этот процесс называется сокращением пути.) Вернуть полученный гамильтонов путь H. | 3: Вычислить эйлеров путь для T (например, при помощи поиска в глубину по T). При посещении вершины эйлерова пути, которая ранее уже была посещена, эта вершина пропускается, и мы переходим к следующей непосещенной вершине эйлерова пути. (Этот процесс называется сокращением пути.) Вернуть полученный гамильтонов путь H. | ||
Строка 60: | Строка 62: | ||
1: Вычислить минимальное остовное дерево T графа G. | 1: Вычислить минимальное остовное дерево T графа G. | ||
2: Пусть U С V – множество всех вершин, имеющих нечетную степень в T. Для графа G вычислить совершенное паросочетание с минимальным весом M на U. | 2: Пусть U С V – множество всех вершин, имеющих нечетную степень в T. Для графа G вычислить совершенное паросочетание с минимальным весом M на U. | ||
3: Вычислить эйлеров путь для T [ M (рассматриваемый как мультиграф). | 3: Вычислить эйлеров путь для T [ M (рассматриваемый как мультиграф). | ||
4: Выполнить сокращение путей этого эйлерова пути до гамильтонова пути H. | 4: Выполнить сокращение путей этого эйлерова пути до гамильтонова пути H. | ||
Алгоритм 2. Алгоритм Кристофидеса | Алгоритм 2. Алгоритм Кристофидеса |
правка