Участник:Obirvalger/Метод рекурсивной координатной бисекции: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 16: Строка 16:


== Последовательная сложность алгоритма ==
== Последовательная сложность алгоритма ==
Обозначим через <math>D(n)</math> сложность алгоритма рекурсивной координатной бисекции для графа с <math>n</math> вершинами.
Обозначим через <math>D(n)</math> сложность алгоритма рекурсивной координатной бисекции для графа с <math>n</math> вершинами на <math>k</math> частей.


Тогда для сложности верно следующее рекуррентное равенство:
При <math>k = n</math> для сложности верно следующее рекуррентное равенство:
<math>D(n) = S(n) + 2D(n)</math>, где <math>S(n)</math> это сложность алгоритма сортировки массива из <math>n</math> элементов.
<math>
\begin{array}{l}
D(n) = S(n) + 2D(\frac{n}{2}) \\
D(1) = S(1) = 0 \\
\end{array}
</math>, где <math>S(n)</math> это сложность алгоритма сортировки массива из <math>n</math> элементов.


Пусть <math>S(n) = O(n\log{n})</math>, например для сортировки слиянием
Пусть <math>S(n) = O(n\log{n})</math>, например для сортировки слиянием

Версия от 16:37, 13 октября 2016

Авторы: Гордеев Михаил, Колмаков Евгений.

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

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

Математическое описание алгоритма

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

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

Как записано в описании ядра алгоритма, основную часть метода составляют множественные (всего [math]\displaystyle{ k-1 }[/math]) сортировки(функция sort).

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

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

Обозначим через [math]\displaystyle{ D(n) }[/math] сложность алгоритма рекурсивной координатной бисекции для графа с [math]\displaystyle{ n }[/math] вершинами на [math]\displaystyle{ k }[/math] частей.

При [math]\displaystyle{ k = n }[/math] для сложности верно следующее рекуррентное равенство: [math]\displaystyle{ \begin{array}{l} D(n) = S(n) + 2D(\frac{n}{2}) \\ D(1) = S(1) = 0 \\ \end{array} }[/math], где [math]\displaystyle{ S(n) }[/math] это сложность алгоритма сортировки массива из [math]\displaystyle{ n }[/math] элементов.

Пусть [math]\displaystyle{ S(n) = O(n\log{n}) }[/math], например для сортировки слиянием

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

Ресурс параллелизма алгоритма

Входные и выходные данные алгоритма

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

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

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

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

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

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

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

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

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

Литература