Об алгоритмической реализации теоремы Менгера 4

Временная оценка работы программы.

Общее количество вызовов рекурсивной процедуры Search: C = N-1+N-2+…+1 = N*(N-1) / 2. Стандартная рекурсивная процедура поиска в глубину (Search_Depth) имеет временную оценку порядка N2; мы имеем N вершин и для каждой вершины – N вариантов путей поиска, таким образом С = N*N. Наша измененная процедура Search имеет такую же временную оценку, однако, в большинстве случаев временная сложность процедуры равна N, потому что мы не рассматриваем смежные вершины и вершины, валентность которых равна 1.

Посчитаем временную сложность алгоритма всей процедуры Solve: 

С = N*N*(N-1)/2 = O(N3).

Для процедуры, позволяющей выводить на экран не только максимальное количество вершинно-непересекающихся <u,v>-цепей для каждой пары несмежных вершин, но и сами <u,v>-цепи, это хорошая временная характеристика.

Заключение.

У каждого учащегося есть свое понимание понятия связности графа. Чаще всего это  понимание строится на основе неформальных наблюдений, и не всегда является четким, ясным и даже правильным. Терема Менгера придает этим наблюдениям точный и строгий смысл. Поэтому целесообразным будет включение темы "Алгоритмическая реализация Теоремы Менгера" в раздел учебного курса по информатике.

Литература.

Новиков Ф.А. Дискретная математика для программистов – СПб: Питер, 2001 г. Окулов С.М. Конспекты занятий по информатике (алгоритмы на графах). – Киров, 1996 г. Окулов С.М. Основы программирования. Часть 4. – Киров, 2001 г.

Похожие записи

Добавить комментарий