В качестве личного пасхального проекта я пытаюсь реализовать тестирование на основе моделей на работе. У меня есть граф, реализованный на питоне, и мне нужно пройти все ребра/выполнить все переходы графа хотя бы один раз.Обход ребра дважды или более не имеет значения, но мне нужно начать и закончить в одном и том же узле и получить последовательность ребер/переходов обратно.
Более простой алгоритм > кратчайшая последовательность.
Я огляделся и нашел множество алгоритмов, но не смог найти ни одного/комбинации, которая работала бы для меня. Было бы здорово, если бы кто-нибудь мог указать мне правильное направление или дать мне несколько советов о том, как это сделать.
Моя реализация графа выглядит так:
graph = {
A : {'IDLE': 't8', 'B': 't2', 'C': 't4'},
B : {'A': 't3', 'C': 't4', 'IDLE': 't6'},
C : {'A': 't5', 'IDLE': 't7', 'B': 't2'},
IDLE : {'A': 't1'}
}