Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Одз.doc
Скачиваний:
1
Добавлен:
06.09.2019
Размер:
97.28 Кб
Скачать

Результаты

Задаём граф с помощью матрицы смежности и записываем в файл in.txt:

10

10000 4 10000 10000 6 10000 10000 7 10000 10000

4 10000 3 5 10000 10000 10000 10000 10000 10000

10000 3 10000 2 10000 8 10000 10000 10000 10000

10000 5 2 10000 10 9 10000 10000 10000 10000

6 10000 10000 10 10000 10000 11 5 10000 10000

10000 10000 8 9 10000 10000 10000 10000 5 10000

10000 10000 10000 10000 11 10000 10000 3 4 10000

7 10000 10000 10000 5 10000 3 10000 10000 2

10000 10000 10000 10000 10000 5 4 10000 10000 1

10000 10000 10000 10000 10000 10000 10000 2 1 10000

Поиск методом Прима:

10

10000 4 10000 10000 6 10000 10000 10000 10000 10000

4 10000 3 10000 10000 10000 10000 10000 10000 10000

10000 3 10000 2 10000 10000 10000 10000 10000 10000

10000 10000 2 10000 10000 10000 10000 10000 10000 10000

6 10000 10000 10000 10000 10000 10000 5 10000 10000

10000 10000 10000 10000 10000 10000 10000 10000 5 10000

10000 10000 10000 10000 10000 10000 10000 3 10000 10000

10000 10000 10000 10000 5 10000 3 10000 10000 2

10000 10000 10000 10000 10000 5 10000 10000 10000 1

10000 10000 10000 10000 10000 10000 10000 2 1 10000

Поиск методом Крускала:

10

10000 4 10000 10000 6 10000 10000 10000 10000 10000

4 10000 3 10000 10000 10000 10000 10000 10000 10000

10000 3 10000 2 10000 10000 10000 10000 10000 10000

10000 10000 2 10000 10000 10000 10000 10000 10000 10000

6 10000 10000 10000 10000 10000 10000 5 10000 10000

10000 10000 10000 10000 10000 10000 10000 10000 5 10000

10000 10000 10000 10000 10000 10000 10000 3 10000 10000

10000 10000 10000 10000 5 10000 3 10000 10000 2

10000 10000 10000 10000 10000 5 10000 10000 10000 1

10000 10000 10000 10000 10000 10000 10000 2 1 10000

Время выполнения алгоритма Прима имеет порядок О(п2).

Время выполнения алгоритма Крускала O (M log N + N*N). Сортировка рёбер потребует O (M log N) операций. Принадлежность вершины тому или иному поддереву хранится просто с помощью массива tree_id - в нём для каждой вершины хранится номер дерева, которому она принадлежит. Для каждого ребра мы за O (1) определяем, принадлежат ли его концы разным деревьям. Наконец, объединение двух деревьев осуществляется за O (N) простым проходом по массиву tree_id. Учитывая, что всего операций объединения будет N-1, мы и получаем асимптотику O (M log N + N2).

Вывод

Алгоритм Прима работает быстрее чем алгоритм Крускала.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]