Уровень алгоритма

Алгоритм Шилоаха-Вишкина поиска компонент связности

Материал из Алговики
Версия от 21:47, 6 июня 2015; Daryin (обсуждение | вклад) (Общее описание алгоритма)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску


Алгоритм Шилоаха-Вишкина
Последовательный алгоритм
Последовательная сложность [math]O((m + n) \ln n)[/math]
Объём входных данных [math]O(m)[/math]
Объём выходных данных [math]n[/math]
Параллельный алгоритм
Высота ярусно-параллельной формы [math]O(\ln n)[/math]
Ширина ярусно-параллельной формы [math]n + 2m[/math]


1 Свойства и структура алгоритмов

1.1 Общее описание алгоритма

Алгоритм Шилоаха-Вишкина[1] (англ. Shiloach-Vishking Algorithm) предназначен для поиска компонент связности неориентированного графа. Используется структура данных, аналогичная системе непресекающихся множеств. В модели CRCW PRAM алгоритм приписывает каждой вершине идентификатор компоненты связности за время [math]O(\ln n)[/math] на [math]n + 2m[/math] процессорах.

1.2 Математическое описание

1.3 Вычислительное ядро алгоритма

1.4 Макроструктура алгоритма

1.5 Описание схемы реализации последовательного алгоритма

Алгоритм изначально параллельный и при последовательной реализации фактически превращается в систему непресекающихся множеств.

1.6 Последовательная сложность алгоритма

Последовательная сложность алгоритма Шилоаха-Вишкина [math]O((m + n) \ln n)[/math].

1.7 Информационный граф

1.8 Описание ресурса параллелизма алгоритма

Время работы алгоритма составляет [math]O(\ln n)[/math] на [math]n + 2m[/math] процессорах в модели CRCW PRAM.

1.9 Описание входных и выходных данных

1.10 Свойства алгоритма

2 Программная реализация алгоритмов

2.1 Особенности реализации последовательного алгоритма

2.2 Описание локальности данных и вычислений

2.3 Возможные способы и особенности реализации параллельного алгоритма

2.4 Масштабируемость алгоритма и его реализации

2.5 Динамические характеристики и эффективность реализации алгоритма

2.6 Выводы для классов архитектур

2.7 Существующие реализации алгоритма

3 Литература

  1. Shiloach, Yossi, and Uzi Vishkin. “An [math]O(\log n)[/math] Parallel Connectivity Algorithm.” Journal of Algorithms 3, no. 1 (March 1982): 57–67. doi:10.1016/0196-6774(82)90008-6.