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

Материал из Алговики
Перейти к навигации Перейти к поиску
Строка 16: Строка 16:
  
 
== Последовательная сложность алгоритма ==
 
== Последовательная сложность алгоритма ==
Обозначим через <math>D^k(n)</math> сложность алгоритма рекурсивной координатной бисекции для графа с <math>n</math> вершинами на <math>k</math> частей.
+
Обозначим через <math>D_k(n)</math> сложность алгоритма рекурсивной координатной бисекции для графа с <math>n</math> вершинами на <math>k</math> частей.
  
Введем <math>D(n) = D^k(n)</math> при <math>k = n</math>. Для <math>D(n)</math> верно следующее рекуррентное равенство:
+
Введем <math>D(n) = D_k(n)</math> при <math>k = n</math>. Для <math>D(n)</math> верно следующее рекуррентное равенство:
  
 
<math>
 
<math>
Строка 27: Строка 27:
 
</math>, где <math>S(n)</math> это сложность алгоритма сортировки массива из <math>n</math> элементов.
 
</math>, где <math>S(n)</math> это сложность алгоритма сортировки массива из <math>n</math> элементов.
  
Пусть <math>S(n) = O(n\log{n})</math>, например для сортировки слиянием
+
Пусть <math>S(n) = O(n\log{n})</math>, например для сортировки слиянием, тогда по теореме о рекуррентном неравенстве
  
 
== Информационный граф ==
 
== Информационный граф ==

Версия 19:43, 13 октября 2016

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

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

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

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

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

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

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

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

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

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

Введем [math]D(n) = D_k(n)[/math] при [math]k = n[/math]. Для [math]D(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], например для сортировки слиянием, тогда по теореме о рекуррентном неравенстве

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

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

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

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

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

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

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

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

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

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

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

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

3 Литература