AnnaLischenНе, вот там путь X2-X3, из-за вершины X8 он отрезается от всего графа. Зачем по нему вести поиск (во все стороны) для заданой в нём вершины, если он отрезан от циклов?
да, можно по очереди удалять те вершины и рёбра, которые соединены последовательно, но к циклу может быть привязан ещё какой-то “хвост” с другой стороны цикла
AnnaLischenПотому что всё сводится к обработке маленького двумерного массива.
Почему лучше?
AnnaLischenТам, по-моему, на уровне алгоритма затык, потому как и блок-схема запутанная, и код, написанный по ней.
А вы можете сказать что-то по моему коду? Я бы очень хотела именно его отладить.
Сначала алгоритм надо описать словами от начала и до конца.
Потом по словесному описанию построить блок-схему и оптимизировать её.
Потом по блок-схеме записать псевдокод и оптимизировать его.
А потом уже по псевдокоду писать реальный код на выбранном языке.
kamisamaВообще, там можно и рёбра цикла пометить весом, и создать ряд отображений (исходный граф, оптимизированный). И всё это будет занимать памяти меньше, чем у неё сейчас занято.
py.user.next говорит о матрице, но он это кажется неправильно говорит. Для матрицы алгоритм будет сложнее