Нижеприведённый код работает для не очень больших матриц. Почему он плохо обрабатывает большие матрицы (порядка больше 300)? Дело в том, что существуют разные способы выбора первоначального узла графа (нулевая итерация). Самый просто и самый неэффективный — выбирать первый попавшийся узел наименьшего порядка. Это, собственно, и делается в программе. По этому когда размер матрицы оказывается сильно больше, необходимо использовать другой способ.
Набор матриц разной размерности для проверки программы + программа.
Для того, чтобы скрипт заработал, необходимо положить директорию matrix с файлами txt в ту же директорию, где и сам скрипт. Как формируется txt можно легко узнать, открыв любой текстовый файл из архива.
Читать далее »