Классификация алгоритмов: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[досмотренная версия][выверенная версия]
(Перенаправление на Служебная:Pma tree)
 
(не показано 27 промежуточных версий 5 участников)
Строка 1: Строка 1:
# <div id="Векторные операции">'''Векторные операции'''</div>
+
#redirect [[Special:Pma_tree]]
## {{level|Суммирование сдваиванием}}
+
__TOC__
### {{level|Нахождение суммы элементов массива сдваиванием}}
+
= Задачи алгебры =
### {{level|Нахождение частных сумм элементов массива сдваиванием}}
+
==Матричные и векторные операции==
## {{level|Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант}}
+
===Векторные операции===
## {{level|Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант}}
+
# {{level|Суммирование сдваиванием}}
## {{level|Последовательно-параллельный метод суммирования}}
+
## {{level|Нахождение суммы элементов массива сдваиванием}}
# <div id="Матрично-векторные операции">'''Матрично-векторные операции'''</div>
+
## {{level|Нахождение частных сумм элементов массива сдваиванием}}
## {{level|Умножение плотной матрицы на вектор}}
+
# {{level|Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант}}
### {{level|Умножение плотной неособенной матрицы на вектор (последовательный вещественный вариант)}}
+
# {{level|Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант}}
# <div id="Матричные операции">'''Матричные операции'''</div>
+
# {{level|Последовательно-параллельный метод суммирования}}
## {{level|Умножение плотных матриц}}
+
=== Умножения матриц на вектор ===
### {{level|Перемножение плотных неособенных матриц (последовательный вещественный вариант)}}
+
==== Умножения неособенных матриц на вектор ====
### {{level|Метод Штрассена}}
+
# {{level|Умножение плотной неособенной матрицы на вектор (последовательный вещественный вариант)}}
# {{level|Разложения матриц}}
+
==== Умножения матриц специального вида на вектор ====
## {{level|Треугольные разложения}}
+
# {{level|Преобразование Фурье}}
### {{level|Метод Гаусса (нахождение LU-разложения)}}
+
## {{level|Быстрое преобразование Фурье для составной размерности}}
#### {{level|LU-разложение методом Гаусса без перестановок}}
+
### {{level|Быстрое преобразование Фурье для степеней двойки}}
##### {{level|LU-разложение методом Гаусса}}
+
#### {{level|Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки}}
##### {{level|Компактная схема метода Гаусса и её модификации}}
+
#### {{level|Быстрое преобразование Фурье для чётных степеней двойки}}
###### {{level|Компактная схема метода Гаусса для плотной матрицы}}
+
### {{level|Быстрое преобразование Фурье для составной размерности с небольшими простыми делителями (2,3,5,7)}}
###### {{level|Компактная схема метода Гаусса для трёхдиагональной матрицы и её модификации}}
+
## {{level|Быстрое преобразование Фурье для простой размерности}}
####### {{level|Компактная схема метода Гаусса для трёхдиагональной матрицы, последовательный вариант}}
+
===Матричные операции===
####### {{level|Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы}}
+
# {{level|Умножение плотных матриц}}
####### {{level|Последовательно-параллельный алгоритм для LU-разложения трёхдиагональной матрицы}}
+
## {{level|Перемножение плотных неособенных матриц (последовательный вещественный вариант)}}
#### {{level|LU-разложение методом Гаусса с перестановками}}
+
## {{level|Метод Штрассена}}
##### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по столбцу}}
+
==Разложения матриц==
##### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по строке}}
+
{{level|Задача разложения матриц}}
##### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по главной диагонали}}
+
# {{level|Треугольные разложения}}
##### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по всей матрице}}
+
## {{level|Метод Гаусса (нахождение LU-разложения)}}
### {{level|Метод Холецкого (нахождение симметричного треугольного разложения)}}
+
### {{level|LU-разложение методом Гаусса без перестановок}}
#### {{level|Разложение Холецкого (метод квадратного корня)}} базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
+
#### {{level|LU-разложение методом Гаусса}}
### {{level|Известные треугольные разложения для матриц специального вида}}
+
#### {{level|Компактная схема метода Гаусса и её модификации}}
## {{level|Унитарно-треугольные разложения}}
+
##### {{level|Компактная схема метода Гаусса для плотной матрицы}}
### {{level|QR-разложения плотных неособенных матриц}}
+
##### {{level|Компактная схема метода Гаусса для трёхдиагональной матрицы и её модификации}}
#### {{level|Метод Гивенса (вращений) QR-разложения матрицы}}
+
###### {{level|Компактная схема метода Гаусса для трёхдиагональной матрицы, последовательный вариант}}
##### {{level|Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)}}
+
###### {{level|Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы}}
#### {{level|Метод Хаусхолдера (отражений) QR-разложения матрицы}}
+
###### {{level|Последовательно-параллельный алгоритм для LU-разложения трёхдиагональной матрицы}}
##### {{level|Метод Хаусхолдера (отражений) QR-разложения квадратной матрицы, вещественный точечный вариант}}
+
### {{level|LU-разложение методом Гаусса с перестановками}}
#### {{level|Метод ортогонализации}}
+
#### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по столбцу}}
##### {{level|Классический метод ортогонализации}}
+
#### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по строке}}
##### {{level|Метод ортогонализации с переортогонализацией}}
+
#### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по главной диагонали}}
#### {{level|Метод треугольного разложения матрицы Грама}}
+
#### {{level|LU-разложение методом Гаусса с выбором ведущего элемента по всей матрице}}
### {{level|Методы QR-разложения плотных хессенберговых матриц}}
+
## {{level|Метод Холецкого (нахождение симметричного треугольного разложения)}}
#### {{level|Метод Гивенса (вращений) QR-разложения хессенберговой матрицы (вещественный вариант)}}
+
### {{level|Разложение Холецкого (метод квадратного корня)}} базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
#### {{level|Метод Хаусхолдера (отражений) QR-разложения хессенберговой матрицы (вещественный вариант)}}
+
# {{level|Известные треугольные разложения для матриц специального вида}}
## {{level|Подобные разложения}}
+
# {{level|Унитарно-треугольные разложения}}
### {{level|Подобные разложения на унитарные и хессенберговы матрицы}}
+
## {{level|QR-разложения плотных неособенных матриц}}
#### {{level|Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}}
+
### {{level|Метод Гивенса (вращений) QR-разложения матрицы}}
##### {{level|Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}}
+
#### {{level|Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)}}
#### {{level|Метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}}
+
### {{level|Метод Хаусхолдера (отражений) QR-разложения матрицы}}
##### {{level|Классический точечный метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}}
+
#### {{level|Метод Хаусхолдера (отражений) QR-разложения квадратной матрицы, вещественный точечный вариант}}
### {{level|Симметричные разложения на унитарные и трёхдиагональные матрицы}}
+
### {{level|Метод ортогонализации}}
#### {{level|Метод Хаусхолдера (отражений) приведения к трёхдиагональному виду}}
+
#### {{level|Классический метод ортогонализации}}
##### {{level|Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду}}
+
#### {{level|Метод ортогонализации с переортогонализацией}}
##### {{level|Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду}}
+
### {{level|Метод треугольного разложения матрицы Грама}}
#### {{level|Метод Гивенса (вращений) приведения матрицы к трёхдиагональной форме}}
+
## {{level|Методы QR-разложения плотных хессенберговых матриц}}
### {{level|Спектральное разложение (нахождение собственных значений и векторов)}}
+
### {{level|Метод Гивенса (вращений) QR-разложения хессенберговой матрицы (вещественный вариант)}}
## {{level|Неподобные унитарные разложения}}
+
### {{level|Метод Хаусхолдера (отражений) QR-разложения хессенберговой матрицы (вещественный вариант)}}
### {{level|Неподобные разложения на унитарные и двухдиагональные матрицы}}
+
# {{level|Разложения, содержащие матрицу, подобную исходной}}
#### {{level|Метод Хаусхолдера (отражений) приведения матрицы к двухдиагональной форме}}
+
## {{level|Разложения, содержащие хессенбергову матрицу, унитарно подобную исходной}}
#### {{level|Метод Гивенса (вращений) приведения матрицы к двухдиагональной форме}}
+
### {{level|Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}}
### {{level|Разложения на унитарные и диагональные матрицы}}
+
#### {{level|Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}}
#### {{level|Сингулярное разложение (нахождение сингулярных значений и векторов)}}
+
### {{level|Метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}}
##### {{level|Методы нахождения сингулярных чисел двухдиагональных матриц}}
+
#### {{level|Классический точечный метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме}}
###### {{level|Алгоритм dqds нахождения сингулярных чисел двухдиагональной матрицы}}
+
## {{level|Разложения, содержащие трёхдиагональную матрицу, унитарно подобную исходной}}
####### {{level|Итерация алгоритма dqds}}
+
### {{level|Метод Хаусхолдера (отражений) приведения к трёхдиагональному виду}}
# {{level|Решение систем линейных уравнений}}
+
#### {{level|Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду}}
## {{level|Прямые методы решения СЛАУ}}
+
#### {{level|Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду}}
### {{level|Linpack benchmark}}
+
### {{level|Метод Гивенса (вращений) приведения матрицы к трёхдиагональной форме}}
### {{level|Методы решения СЛАУ с матрицами специального вида}}
+
## {{level|Спектральное разложение (нахождение собственных значений и векторов)}}
#### {{level|Методы решения СЛАУ с треугольными матрицами}}
+
# {{level|Разложения с использованием унитарных преобразований, не содержащие матриц, подобной исходной}}
##### {{level|Прямая подстановка (вещественный вариант)|Прямая подстановка}}
+
## {{level|Разложения на две унитарные и одну двухдиагональную матрицы}}
##### {{level|Обратная подстановка (вещественный вариант)|Обратная подстановка}}
+
### {{level|Метод Хаусхолдера (отражений) приведения матрицы к двухдиагональной форме}}
##### {{level|Методы решения СЛАУ с двудиагональными матрицами}}
+
### {{level|Метод Гивенса (вращений) приведения матрицы к двухдиагональной форме}}
###### {{level|Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей}}
+
## {{level|Разложения на две унитарные и одну диагональную матрицы}}
 +
### {{level|Сингулярное разложение (нахождение сингулярных значений и векторов)}}
 +
#### {{level|Методы нахождения сингулярных чисел двухдиагональных матриц}}
 +
##### {{level|Алгоритм dqds нахождения сингулярных чисел двухдиагональной матрицы}}
 +
###### {{level|Итерация алгоритма dqds}}
 +
 
 +
==Решение систем линейных уравнений==
 +
# {{level|Прямые методы решения СЛАУ}}
 +
## {{level|Linpack benchmark}}
 +
## {{level|Методы решения СЛАУ с матрицами специального вида}}
 +
### {{level|Методы решения СЛАУ с треугольными матрицами}}
 +
#### {{level|Прямая подстановка (вещественный вариант)}}
 +
#### {{level|Обратная подстановка (вещественный вариант)}}
 +
#### {{level|Методы решения СЛАУ с двудиагональными матрицами}}
 +
##### {{level|Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей}}
 +
##### {{level|Метод сдваивания Стоуна для решения двудиагональных СЛАУ}}
 +
##### {{level|Последовательно-параллельный вариант обратной подстановки}}
 +
### {{level|Методы решения СЛАУ с трёхдиагональными матрицами}}
 +
#### {{level|Методы, основанные на стандартном LU-разложении матрицы}}
 +
##### {{level|Прогонка}}
 +
###### {{level|Прогонка, точечный вариант}}
 +
###### {{level|Классическая монотонная прогонка, повторный вариант}}
 +
##### {{level|Метод сдваивания Стоуна}}
 +
###### {{level|Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы}}
 
###### {{level|Метод сдваивания Стоуна для решения двудиагональных СЛАУ}}
 
###### {{level|Метод сдваивания Стоуна для решения двудиагональных СЛАУ}}
###### {{level|Последовательно-параллельный вариант обратной подстановки}}
+
##### {{level|Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками}}
#### {{level|Методы решения СЛАУ с трёхдиагональными матрицами}}
+
#### Другие методы
##### {{level|Методы, основанные на стандартном LU-разложении матрицы}}
+
##### {{level|Метод редукции}}
###### {{level|Прогонка}}
+
###### {{level|Полный метод редукции}}
####### {{level|Прогонка, точечный вариант}}
+
###### {{level|Повторный метод редукции для новой правой части}}
####### {{level|Классическая монотонная прогонка, повторный вариант}}
+
##### {{level|Встречная прогонка}}
###### {{level|Метод сдваивания Стоуна}}
+
###### {{level|Встречная прогонка, точечный вариант}}
####### {{level|Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы}}
+
###### {{level|Повторная встречная прогонка, точечный вариант}}
####### {{level|Метод сдваивания Стоуна для решения двудиагональных СЛАУ}}
+
##### {{level|Метод циклической редукции}}
###### {{level|Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками}}
+
###### {{level|Полный метод циклической редукции}}
##### Другие методы
+
###### {{level|Повторный метод циклической редукции для новой правой части}}
###### {{level|Метод редукции}}
+
##### {{level|Метод окаймления}}
####### {{level|Полный метод редукции}}
+
### Методы решения СЛАУ с блочно-треугольными матрицами
####### {{level|Повторный метод редукции для новой правой части}}
+
#### {{level|Блочная прямая подстановка (вещественный вариант)|Блочная прямая подстановка}}
###### {{level|Встречная прогонка}}
+
#### {{level|Блочная обратная подстановка (вещественный вариант)|Блочная обратная подстановка}}
####### {{level|Встречная прогонка, точечный вариант}}
+
#### Методы решения СЛАУ с блочно-двухдиагональными матрицами
####### {{level|Повторная встречная прогонка, точечный вариант}}
+
##### {{level|Прямая и обратная подстановка в СЛАУ с блочно-двухдиагональной матрицей}}
###### {{level|Метод циклической редукции}}
+
##### {{level|Метод сдваивания Стоуна для решения блочно-двухдиагональных СЛАУ}}
####### {{level|Полный метод циклической редукции}}
+
##### {{level|Блочный последовательно-параллельный вариант обратной подстановки для решения блочно-двухдиагональных СЛАУ}}
####### {{level|Повторный метод циклической редукции для новой правой части}}
+
### {{level|Методы решения СЛАУ с блочно-трёхдиагональными матрицами}}
###### {{level|Метод окаймления}}
+
#### Методы, основанные на стандартном LU-разложении матрицы
#### Методы решения СЛАУ с блочно-треугольными матрицами
+
##### {{level|Блочная прогонка}}
##### {{level|Блочная прямая подстановка (вещественный вариант)|Блочная прямая подстановка}}
+
##### {{level|Блочный последовательно-параллельный вариант решения с LU-разложением и обратными подстановками}}
##### {{level|Блочная обратная подстановка (вещественный вариант)|Блочная обратная подстановка}}
+
#### Другие методы
##### Методы решения СЛАУ с блочно-двухдиагональными матрицами
+
##### {{level|Встречная прогонка, блочный вариант}}
###### {{level|Прямая и обратная подстановка в СЛАУ с блочно-двухдиагональной матрицей}}
+
##### {{level|Блочный метод циклической редукции}}
###### {{level|Метод сдваивания Стоуна для решения блочно-двухдиагональных СЛАУ}}
+
##### {{level|Блочный метод окаймления}}
###### {{level|Блочный последовательно-параллельный вариант обратной подстановки для решения блочно-двухдиагональных СЛАУ}}
+
## {{level|Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы}}
#### {{level|Методы решения СЛАУ с блочно-трёхдиагональными матрицами}}
+
# Итерационные методы решения СЛАУ
##### Методы, основанные на стандартном LU-разложении матрицы
 
###### {{level|Блочная прогонка}}
 
###### {{level|Блочный последовательно-параллельный вариант решения с LU-разложением и обратными подстановками}}
 
##### Другие методы
 
###### {{level|Встречная прогонка, блочный вариант}}
 
###### {{level|Блочный метод циклической редукции}}
 
###### {{level|Блочный метод окаймления}}
 
### {{level|Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы}}
 
## Итерационные методы решения СЛАУ
 
### {{level|High Performance Conjugate Gradient (HPCG) benchmark}}
 
### {{level|Алгоритм_Качмажа}}
 
# <div id="Решения спектральных задач">'''Решения спектральных задач'''</div>
 
## {{level|Спектральное разложение (нахождение собственных значений и векторов)}}
 
### {{level|QR-алгоритм}}
 
#### {{level|QR-алгоритм, используемый в SCALAPACK}}
 
##### {{level|Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}}
 
##### {{level|QR-алгоритм для хессенберговой матрицы, используемый в SCALAPACK}}
 
#### {{level|QR-алгоритм для симметричных матриц, используемый в SCALAPACK}}
 
##### {{level|Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду}}
 
##### {{level|QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK}}
 
#### {{level|QR-алгоритм для комплексных эрмитовых матриц, используемый в SCALAPACK}}
 
##### {{level|Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду}}
 
##### {{level|QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK}}
 
### {{level|Метод Якоби (вращений) для решения спектральной задачи у симметричных матриц}}
 
#### {{level|Классический метод Якоби (вращений) для симметричных матриц с выбором по всей матрице}}
 
#### {{level|Метод Якоби (вращений) для симметричных матриц с циклическим исключением}}
 
#### {{level|Метод Якоби (вращений) для симметричных матриц с циклическим исключением и барьерами}}
 
### {{level|Метод Ланцоша}}
 
#### {{level|Алгоритм Ланцоша для точной арифметики (без переортогонализации)}}
 
## {{level|Частичная спектральная задача}}
 
### {{level|Метод бисекций}}
 
## {{level|Сингулярное разложение (нахождение сингулярных значений и векторов)}}
 
### {{level|Метод Якоби (вращений) для нахождения сингулярных значений неособенных матриц}}
 
#### {{level|Метод Якоби (вращений) для нахождения сингулярных значений с циклическим перебором}}
 
#### {{level|Метод Якоби для нахождения сингулярных значений со специальным подбором вращений}}
 
### {{level|QR-алгоритм в приложении к сингулярному разложению}}
 
# <div id="Тесты производительности компьютеров">'''Тесты производительности компьютеров'''</div>
 
 
## {{level|High Performance Conjugate Gradient (HPCG) benchmark}}
 
## {{level|High Performance Conjugate Gradient (HPCG) benchmark}}
## {{level|Linpack benchmark}}
+
## {{level|Стабилизированный метод бисопряженных градиентов (BiCGStab)}}
# {{level|Преобразование Фурье}}
+
## {{level|Алгоритм_Качмажа}}
## {{level|Быстрое преобразование Фурье}}
+
 
### {{level|Быстрое преобразование Фурье для степеней двойки}}
+
==Решения спектральных задач==
# <div id="Алгебра многочленов">'''Алгебра многочленов'''</div>
+
# {{level|Спектральное разложение (нахождение собственных значений и векторов)}}
## {{level|Схема Горнера, вещественная версия, последовательный вариант}}
+
## {{level|QR-алгоритм}}
# <div id="Численные методы интегрирования">'''Численные методы интегрирования'''</div>
+
### {{level|QR-алгоритм, используемый в SCALAPACK}}
## {{level|Квадратурные формулы}}
+
#### {{level|Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме}}
## {{level|Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)}}
+
#### {{level|QR-алгоритм для хессенберговой матрицы, используемый в SCALAPACK}}
### [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод прямоугольников|Метод прямоугольников]]
+
### {{level|QR-алгоритм для симметричных матриц, используемый в SCALAPACK}}
### [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод трапеций|Метод трапеций]]
+
#### {{level|Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду}}
### [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод парабол (метод Симпсона)|Метод парабол (метод Симпсона)]]
+
#### {{level|QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK}}
### [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод Гаусса|Метод Гаусса]]
+
### {{level|QR-алгоритм для комплексных эрмитовых матриц, используемый в SCALAPACK}}
# <div id="Алгоритмы на графах">'''Алгоритмы на графах'''</div>
+
#### {{level|Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду}}
## Обход графа
+
#### {{level|QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK}}
### {{level|Поиск в ширину (BFS)}}
+
## {{level|Метод Якоби (вращений) для решения спектральной задачи у симметричных матриц}}
### {{level|Поиск в глубину (DFS)}}
+
### {{level|Классический метод Якоби (вращений) для симметричных матриц с выбором по всей матрице}}
## {{level|Поиск кратчайшего пути от одной вершины (SSSP)}}
+
### {{level|Метод Якоби (вращений) для симметричных матриц с циклическим исключением}}
### {{level|Поиск в ширину (BFS)}} (для невзвешенных графов)
+
### {{level|Метод Якоби (вращений) для симметричных матриц с циклическим исключением и барьерами}}
### {{level|Алгоритм Дейкстры}}
+
## {{level|Метод Ланцоша}}
### {{level|Алгоритм Беллмана-Форда}}
+
### {{level|Алгоритм Ланцоша для точной арифметики (без переортогонализации)}}
### {{level|Алгоритм Δ-шагания}}
+
# {{level|Частичная спектральная задача}}
## {{level|Поиск кратчайшего пути для всех пар вершин (APSP)}}
+
## {{level|Метод бисекций}}
### {{level|Алгоритм Джонсона}}
+
# {{level|Сингулярное разложение (нахождение сингулярных значений и векторов)}}
### {{level|Алгоритм Флойда-Уоршелла}}
+
## {{level|Метод Якоби (вращений) для нахождения сингулярных значений неособенных матриц}}
## {{level|Поиск транзитивного замыкания орграфа}}
+
### {{level|Метод Якоби (вращений) для нахождения сингулярных значений с циклическим перебором}}
### {{level|Алгоритм Пурдома}}
+
### {{level|Метод Якоби для нахождения сингулярных значений со специальным подбором вращений}}
## {{level|Определение диаметра графа}}
+
## {{level|QR-алгоритм в приложении к сингулярному разложению}}
## {{level|Построение минимального остовного дерева (MST)}}
+
==Алгебра многочленов==
### {{level|Алгоритм Борувки}}
+
# {{level|Схема Горнера, вещественная версия, последовательный вариант}}
### {{level|Алгоритм Крускала}}
+
 
### {{level|Алгоритм Прима}}
+
= Алгоритмы на списках и массивах =
### {{level|Алгоритм GHS}}
+
==Алгоритмы поиска==
## {{level|Поиск изоморфных подграфов}}
+
# {{level|Линейный поиск - находит элемент в любом списке|Линейный поиск}}, <math>O(n)</math>
### {{level|Алгоритм Ульмана}}
+
# {{level|Двоичный поиск - находит элемент в отсортированном списке|Двоичный поиск}}, <math>O(\log(n))</math>
### {{level|Алгоритм VF2}}
+
==Алгоритмы сортировки==
## {{level|Связность в графах}}
+
# {{level|Сортировка с помощью двоичного дерева}}
### {{level|Алгоритм Шилоаха-Вишкина поиска компонент связности}}
+
# {{level|Сортировка пузырьком}}
### {{level|Система непересекающихся множеств}}
+
# {{level|Сортировка слиянием (последовательный и параллельный варианты)}}
### {{level|Алгоритм Тарьяна поиска компонент сильной связности}}
+
==Алгоритмы на графах==
### {{level|Алгоритм DCSC поиска компонент сильной связности}}
+
# Обход графа
### {{level|Алгоритм Тарьяна поиска компонент двусвязности}}
+
## {{level|Поиск в ширину (BFS)}}
### {{level|Алгоритм Тарьяна-Вишкина поиска компонент двусвязности}}
+
## {{level|Поиск в глубину (DFS)}}
### {{level|Алгоритм Тарьяна поиска «мостов» в графе}}
+
# {{level|Поиск кратчайшего пути от одной вершины (SSSP)}}  
### {{level|Определение вершинной связности графа}}
+
## {{level|Поиск в ширину (BFS)}} (для невзвешенных графов)
### {{level|Алгоритм Габова определения рёберной связности графа}}
+
## {{level|Алгоритм Дейкстры}}  
## {{level|Поиск максимального потока в транспортной сети}}
+
## {{level|Алгоритм Беллмана-Форда}}  
### {{level|Алгоритм Форда-Фалкерсона}}
+
## {{level|Алгоритм Δ-шагания}}  
### {{level|Алгоритм проталкивания предпотока}}
+
# {{level|Поиск кратчайшего пути для всех пар вершин (APSP)}}  
## {{level|Поиск потока минимальной стоимости в транспортной сети}}
+
## {{level|Алгоритм Джонсона}}
## {{level|Задача о назначениях}}
+
## {{level|Алгоритм Флойда-Уоршелла}}
### {{level|Венгерский алгоритм}}
+
# {{level|Поиск транзитивного замыкания орграфа}}
### {{level|Алгоритм аукциона}}
+
## {{level|Алгоритм Пурдома}}
### {{level|Алгоритм Гопкрофта-Карпа}}
+
# {{level|Определение диаметра графа}}
## {{level|Вычисление betweenness centrality|Вычисление центральности вершин}}
+
# {{level|Построение минимального остовного дерева (MST)}}
# <div id="Алгоритмы поиска">'''Алгоритмы поиска'''</div>
+
## {{level|Алгоритм Борувки}}
## {{level|Линейный поиск - находит элемент в любом списке|Линейный поиск}}, <math>O(n)</math>
+
## {{level|Алгоритм Крускала}}
## {{level|Двоичный поиск - находит элемент в отсортированном списке|Двоичный поиск}}, <math>O(log(n))</math>
+
## {{level|Алгоритм Прима}}
# <div id="Алгоритмы сортировки">'''Алгоритмы сортировки'''</div>
+
## {{level|Алгоритм GHS}}
## {{level|Сортировка с помощью двоичного дерева}}
+
# {{level|Поиск изоморфных подграфов}}
## {{level|Сортировка пузырьком}}
+
## {{level|Алгоритм Ульмана}}
## {{level|Сортировка слиянием (последовательный и параллельный варианты)}}
+
## {{level|Алгоритм VF2}}
# <div id="Вычислительная геометрия">'''Вычислительная геометрия'''</div>
+
# {{level|Связность в графах}}
## {{level|Поиск диаметра множества точек}}
+
## {{level|Алгоритм Шилоаха-Вишкина поиска компонент связности}}
## {{level|Построение выпуклой оболочки набора точек}}
+
## {{level|Система непересекающихся множеств}}
## {{level|Триангуляция Делоне}}
+
## {{level|Алгоритм Тарьяна поиска компонент сильной связности}}
## {{level|Диаграмма Вороного}}
+
## {{level|Алгоритм DCSC поиска компонент сильной связности}}
## {{level|Принадлежность точки многоугольнику}}
+
## {{level|Алгоритм Тарьяна поиска компонент двусвязности}}
## {{level|Пересечения выпуклых многоугольников}} - трудоёмкость <math>O(n_1 + n_2)</math>
+
## {{level|Алгоритм Тарьяна-Вишкина поиска компонент двусвязности}}
## {{level|Пересечение звёздных многоугольников}} - трудоёмкость <math>O(n_1 * n_2)</math>
+
## {{level|Алгоритм Тарьяна поиска «мостов» в графе}}
# <div id="Компьютерная графика">'''Компьютерная графика'''</div>
+
## {{level|Определение вершинной связности графа}}
## {{level|Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности}}
+
## {{level|Алгоритм Габова определения рёберной связности графа}}
## {{level|Алгоритм определения видимых частей трёхмерной сцены}}
+
# {{level|Поиск максимального потока в транспортной сети}}
## {{level|Трассировка лучей - рендеринг реалистичных изображений}}
+
## {{level|Алгоритм Форда-Фалкерсона}}
## {{level|Глобальное освещение - рассматривает прямое освещение и отражение от других объектов}}
+
## {{level|Алгоритм проталкивания предпотока}}
# <div id="Криптографические алгоритмы">'''Криптографические алгоритмы'''</div>
+
# {{level|Поиск потока минимальной стоимости в транспортной сети}}
## {{level|Метод встречи посередине}}
+
# {{level|Задача о назначениях}}
# <div id="Нейронные сети">'''Нейронные сети'''</div>
+
## {{level|Венгерский алгоритм}}
# <div id="Алгоритмы оптимизации">'''Алгоритмы оптимизации'''</div>
+
## {{level|Алгоритм аукциона}}
## {{level|Линейное программирование}}
+
## {{level|Алгоритм Гопкрофта-Карпа}}
## {{level|Симплекс-метод}}
+
# {{level|Вычисление betweenness centrality|Вычисление центральности вершин}}
## {{level|Метод ветвей и границ (последовательный и параллельный варианты)}}
+
=Вычислительная геометрия=
## {{level|Генетические алгоритмы}}
+
# {{level|Поиск диаметра множества точек}}
## {{level|Муравьиные алгоритмы}}
+
# {{level|Построение выпуклой оболочки набора точек}}
## {{level|Комбинированные алгоритмы}}
+
# {{level|Триангуляция Делоне}}
## {{level|Нахождение экстремума функции}}
+
# {{level|Диаграмма Вороного}}
# <div id="Алгоритмы теории игр">'''Алгоритмы теории игр'''</div>
+
# {{level|Принадлежность точки многоугольнику}}
# <div id="Алгоритмы моделирования квантовых систем">'''Алгоритмы моделирования квантовых систем'''</div>
+
# {{level|Пересечения выпуклых многоугольников}}
## ''Алгоритмы моделирования квантовых вычислений''
+
# {{level|Пересечение звёздных многоугольников}}
### {{level|Однокубитное преобразование вектора-состояния}}
+
==Компьютерная графика==
### {{level|Двухкубитное преобразование вектора-состояния}}
+
# {{level|Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности}}
### {{level|Моделирование квантового преобразования Фурье}}
+
# {{level|Алгоритм определения видимых частей трёхмерной сцены}}
# <div id="Алгоритмы решения уравнений математической физики">'''Алгоритмы решения уравнений математической физики'''</div>
+
# {{level|Трассировка лучей - рендеринг реалистичных изображений}}
## {{level|Уравнение Пуассона, решение дискретным преобразованием Фурье}}
+
# {{level|Глобальное освещение - рассматривает прямое освещение и отражение от других объектов}}
# <div id="Другие алгоритмы">'''Другие алгоритмы'''</div>
+
 
 +
=Исследование и моделирование компьютеров=
 +
==Тесты производительности компьютеров==
 +
# {{level|High Performance Conjugate Gradient (HPCG) benchmark}}
 +
# {{level|Linpack benchmark}}
 +
==Алгоритмы моделирования квантовых систем==
 +
# {{level|Алгоритмы моделирования квантовых вычислений}}
 +
## {{level|Однокубитное преобразование вектора-состояния}}
 +
## {{level|Двухкубитное преобразование вектора-состояния}}
 +
## {{level|Моделирование квантового преобразования Фурье}}
 +
==Алгоритмы машинного обучения==
 +
# {{level|Алгоритм k средних (k-means)}}
 +
===Нейронные сети===
 +
# {{level|Распознавание образов}}
 +
## {{level|Распознавание текста}}
 +
## {{level|Распознавание речи}}
 +
## {{level|Распознавание лиц}}
 +
===Алгоритмы теории игр===
 +
 
 +
= Прикладные задачи из разных областей =
 +
==Алгоритмы оптимизации==
 +
# {{level|Линейное программирование}}
 +
# {{level|Симплекс-метод}}
 +
# {{level|Метод ветвей и границ}}
 +
# {{level|Генетические алгоритмы}}
 +
# {{level|Муравьиные алгоритмы}}
 +
# {{level|Комбинированные алгоритмы}}
 +
# {{level|Стохастическое двойственное динамическое программирование (SDDP)}}
 +
==Решение систем нелинейных уравнений==
 +
# {{level|Метод Ньютона для систем нелинейных уравнений}}
 +
==Численные методы интегрирования==
 +
# {{level|Квадратурные формулы}}
 +
# {{level|Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)}}
 +
## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод прямоугольников|Метод прямоугольников]]
 +
## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод трапеций|Метод трапеций]]
 +
## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод парабол (метод Симпсона)|Метод парабол (метод Симпсона)]]
 +
## [[Квадратурные_(кубатурные)_методы_численного_интегрирования_по_отрезку_(многомерному_кубу)#Метод Гаусса|Метод Гаусса]]
 +
==Алгоритмы решения уравнений математической физики==
 +
# {{level|Уравнение Пуассона, решение дискретным преобразованием Фурье}}
 +
=Криптографические алгоритмы=
 +
# {{level|Метод встречи посередине}}
 +
=Другие алгоритмы=
  
 
[[en:Algorithm classification]]
 
[[en:Algorithm classification]]
  
 
[[Категория:Алгоритмы|*]]
 
[[Категория:Алгоритмы|*]]

Текущая версия на 22:20, 25 декабря 2018

Перенаправление на:

Содержание

1 Задачи алгебры

1.1 Матричные и векторные операции

1.1.1 Векторные операции

  1. Уровень метода Суммирование сдваиванием
    1. Уровень алгоритма Нахождение суммы элементов массива сдваиванием
    2. Уровень алгоритма Нахождение частных сумм элементов массива сдваиванием
  2. Уровень алгоритма Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант
  3. Уровень алгоритма Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант
  4. Уровень алгоритма Последовательно-параллельный метод суммирования

1.1.2 Умножения матриц на вектор

1.1.2.1 Умножения неособенных матриц на вектор

  1. Уровень алгоритма Умножение плотной неособенной матрицы на вектор (последовательный вещественный вариант)

1.1.2.2 Умножения матриц специального вида на вектор

  1. Преобразование Фурье
    1. Быстрое преобразование Фурье для составной размерности
      1. Уровень метода Быстрое преобразование Фурье для степеней двойки
        1. Уровень алгоритма Простой алгоритм Кули-Тьюки быстрого преобразования Фурье для степеней двойки
        2. Быстрое преобразование Фурье для чётных степеней двойки
      2. Быстрое преобразование Фурье для составной размерности с небольшими простыми делителями (2,3,5,7)
    2. Быстрое преобразование Фурье для простой размерности

1.1.3 Матричные операции

  1. Уровень задачи Умножение плотных матриц
    1. Уровень алгоритма Перемножение плотных неособенных матриц (последовательный вещественный вариант)
    2. Метод Штрассена

1.2 Разложения матриц

Уровень задачи Задача разложения матриц

  1. Уровень задачи Треугольные разложения
    1. Уровень метода Метод Гаусса (нахождение LU-разложения)
      1. Уровень метода LU-разложение методом Гаусса без перестановок
        1. Уровень алгоритма LU-разложение методом Гаусса
        2. Уровень метода Компактная схема метода Гаусса и её модификации
          1. Компактная схема метода Гаусса для плотной матрицы
          2. Уровень метода Компактная схема метода Гаусса для трёхдиагональной матрицы и её модификации
            1. Уровень алгоритма Компактная схема метода Гаусса для трёхдиагональной матрицы, последовательный вариант
            2. Уровень алгоритма Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы
            3. Уровень метода Последовательно-параллельный алгоритм для LU-разложения трёхдиагональной матрицы
      2. Уровень метода LU-разложение методом Гаусса с перестановками
        1. Уровень алгоритма LU-разложение методом Гаусса с выбором ведущего элемента по столбцу
        2. Уровень алгоритма LU-разложение методом Гаусса с выбором ведущего элемента по строке
        3. Уровень алгоритма LU-разложение методом Гаусса с выбором ведущего элемента по главной диагонали
        4. Уровень алгоритма LU-разложение методом Гаусса с выбором ведущего элемента по всей матрице
    2. Уровень метода Метод Холецкого (нахождение симметричного треугольного разложения)
      1. Уровень алгоритма Разложение Холецкого (метод квадратного корня) базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
  2. Известные треугольные разложения для матриц специального вида
  3. Уровень задачи Унитарно-треугольные разложения
    1. Уровень задачи QR-разложения плотных неособенных матриц
      1. Уровень метода Метод Гивенса (вращений) QR-разложения матрицы
        1. Уровень алгоритма Метод Гивенса (вращений) QR-разложения квадратной матрицы (вещественный точечный вариант)
      2. Уровень метода Метод Хаусхолдера (отражений) QR-разложения матрицы
        1. Уровень алгоритма Метод Хаусхолдера (отражений) QR-разложения квадратной матрицы, вещественный точечный вариант
      3. Уровень метода Метод ортогонализации
        1. Уровень алгоритма Классический метод ортогонализации
        2. Уровень алгоритма Метод ортогонализации с переортогонализацией
      4. Уровень метода Метод треугольного разложения матрицы Грама
    2. Уровень задачи Методы QR-разложения плотных хессенберговых матриц
      1. Уровень метода Метод Гивенса (вращений) QR-разложения хессенберговой матрицы (вещественный вариант)
      2. Уровень метода Метод Хаусхолдера (отражений) QR-разложения хессенберговой матрицы (вещественный вариант)
  4. Уровень задачи Разложения, содержащие матрицу, подобную исходной
    1. Уровень задачи Разложения, содержащие хессенбергову матрицу, унитарно подобную исходной
      1. Уровень метода Метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме
        1. Уровень алгоритма Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме
      2. Метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме
        1. Классический точечный метод Гивенса (вращений) приведения матрицы к хессенберговой (почти треугольной) форме
    2. Уровень задачи Разложения, содержащие трёхдиагональную матрицу, унитарно подобную исходной
      1. Метод Хаусхолдера (отражений) приведения к трёхдиагональному виду
        1. Уровень алгоритма Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду
        2. Уровень алгоритма Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду
      2. Метод Гивенса (вращений) приведения матрицы к трёхдиагональной форме
    3. Уровень задачи Спектральное разложение (нахождение собственных значений и векторов)
  5. Разложения с использованием унитарных преобразований, не содержащие матриц, подобной исходной
    1. Разложения на две унитарные и одну двухдиагональную матрицы
      1. Уровень алгоритма Метод Хаусхолдера (отражений) приведения матрицы к двухдиагональной форме
      2. Метод Гивенса (вращений) приведения матрицы к двухдиагональной форме
    2. Разложения на две унитарные и одну диагональную матрицы
      1. Уровень задачи Сингулярное разложение (нахождение сингулярных значений и векторов)
        1. Методы нахождения сингулярных чисел двухдиагональных матриц
          1. Алгоритм dqds нахождения сингулярных чисел двухдиагональной матрицы
            1. Уровень алгоритма Итерация алгоритма dqds

1.3 Решение систем линейных уравнений

  1. Прямые методы решения СЛАУ
    1. Уровень алгоритма Linpack benchmark
    2. Методы решения СЛАУ с матрицами специального вида
      1. Методы решения СЛАУ с треугольными матрицами
        1. Уровень алгоритма Прямая подстановка (вещественный вариант)
        2. Уровень алгоритма Обратная подстановка (вещественный вариант)
        3. Методы решения СЛАУ с двудиагональными матрицами
          1. Прямая и обратная подстановка в СЛАУ с двухдиагональной матрицей
          2. Уровень алгоритма Метод сдваивания Стоуна для решения двудиагональных СЛАУ
          3. Последовательно-параллельный вариант обратной подстановки
      2. Уровень задачи Методы решения СЛАУ с трёхдиагональными матрицами
        1. Методы, основанные на стандартном LU-разложении матрицы
          1. Уровень метода Прогонка
            1. Уровень алгоритма Прогонка, точечный вариант
            2. Уровень алгоритма Классическая монотонная прогонка, повторный вариант
          2. Уровень метода Метод сдваивания Стоуна
            1. Уровень алгоритма Алгоритм сдваивания Стоуна для LU-разложения трёхдиагональной матрицы
            2. Уровень алгоритма Метод сдваивания Стоуна для решения двудиагональных СЛАУ
          3. Уровень метода Последовательно-параллельный вариант решения трёхдиагональной СЛАУ с LU-разложением и обратными подстановками
        2. Другие методы
          1. Метод редукции
            1. Полный метод редукции
            2. Повторный метод редукции для новой правой части
          2. Встречная прогонка
            1. Уровень алгоритма Встречная прогонка, точечный вариант
            2. Уровень алгоритма Повторная встречная прогонка, точечный вариант
          3. Метод циклической редукции
            1. Уровень алгоритма Полный метод циклической редукции
            2. Повторный метод циклической редукции для новой правой части
          4. Метод окаймления
      3. Методы решения СЛАУ с блочно-треугольными матрицами
        1. Блочная прямая подстановка (вещественный вариант)
        2. Блочная обратная подстановка (вещественный вариант)
        3. Методы решения СЛАУ с блочно-двухдиагональными матрицами
          1. Прямая и обратная подстановка в СЛАУ с блочно-двухдиагональной матрицей
          2. Метод сдваивания Стоуна для решения блочно-двухдиагональных СЛАУ
          3. Блочный последовательно-параллельный вариант обратной подстановки для решения блочно-двухдиагональных СЛАУ
      4. Методы решения СЛАУ с блочно-трёхдиагональными матрицами
        1. Методы, основанные на стандартном LU-разложении матрицы
          1. Уровень алгоритма Блочная прогонка
          2. Блочный последовательно-параллельный вариант решения с LU-разложением и обратными подстановками
        2. Другие методы
          1. Уровень алгоритма Встречная прогонка, блочный вариант
          2. Блочный метод циклической редукции
          3. Блочный метод окаймления
    3. Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы
  2. Итерационные методы решения СЛАУ
    1. Уровень алгоритма High Performance Conjugate Gradient (HPCG) benchmark
    2. Уровень алгоритма Стабилизированный метод бисопряженных градиентов (BiCGStab)
    3. Уровень алгоритма Алгоритм_Качмажа

1.4 Решения спектральных задач

  1. Уровень задачи Спектральное разложение (нахождение собственных значений и векторов)
    1. Уровень метода QR-алгоритм
      1. Уровень алгоритма QR-алгоритм, используемый в SCALAPACK
        1. Уровень алгоритма Классический точечный метод Хаусхолдера (отражений) приведения матрицы к хессенберговой (почти треугольной) форме
        2. Уровень алгоритма QR-алгоритм для хессенберговой матрицы, используемый в SCALAPACK
      2. Уровень алгоритма QR-алгоритм для симметричных матриц, используемый в SCALAPACK
        1. Уровень алгоритма Метод Хаусхолдера (отражений) для приведения симметричных матриц к трёхдиагональному виду
        2. QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK
      3. Уровень алгоритма QR-алгоритм для комплексных эрмитовых матриц, используемый в SCALAPACK
        1. Уровень алгоритма Метод Хаусхолдера (отражений) для приведения комплексных эрмитовых матриц к трёхдиагональному симметричному виду
        2. QR-алгоритм для симметричных трёхдиагональных матриц, используемый в SCALAPACK
    2. Уровень метода Метод Якоби (вращений) для решения спектральной задачи у симметричных матриц
      1. Уровень алгоритма Классический метод Якоби (вращений) для симметричных матриц с выбором по всей матрице
      2. Уровень алгоритма Метод Якоби (вращений) для симметричных матриц с циклическим исключением
      3. Уровень алгоритма Метод Якоби (вращений) для симметричных матриц с циклическим исключением и барьерами
    3. Метод Ланцоша
      1. Уровень алгоритма Алгоритм Ланцоша для точной арифметики (без переортогонализации)
  2. Частичная спектральная задача
    1. Метод бисекций
  3. Уровень задачи Сингулярное разложение (нахождение сингулярных значений и векторов)
    1. Уровень метода Метод Якоби (вращений) для нахождения сингулярных значений неособенных матриц
      1. Метод Якоби (вращений) для нахождения сингулярных значений с циклическим перебором
      2. Метод Якоби для нахождения сингулярных значений со специальным подбором вращений
    2. QR-алгоритм в приложении к сингулярному разложению

1.5 Алгебра многочленов

  1. Уровень алгоритма Схема Горнера, вещественная версия, последовательный вариант

2 Алгоритмы на списках и массивах

2.1 Алгоритмы поиска

  1. Линейный поиск - находит элемент в любом списке, [math]O(n)[/math]
  2. Двоичный поиск - находит элемент в отсортированном списке, [math]O(\log(n))[/math]

2.2 Алгоритмы сортировки

  1. Сортировка с помощью двоичного дерева
  2. Сортировка пузырьком
  3. Сортировка слиянием (последовательный и параллельный варианты)

2.3 Алгоритмы на графах

  1. Обход графа
    1. Уровень алгоритма Поиск в ширину (BFS)
    2. Уровень алгоритма Поиск в глубину (DFS)
  2. Уровень задачи Поиск кратчайшего пути от одной вершины (SSSP)
    1. Уровень алгоритма Поиск в ширину (BFS) (для невзвешенных графов)
    2. Уровень алгоритма Алгоритм Дейкстры
    3. Уровень алгоритма Алгоритм Беллмана-Форда
    4. Уровень алгоритма Алгоритм Δ-шагания
  3. Уровень задачи Поиск кратчайшего пути для всех пар вершин (APSP)
    1. Уровень алгоритма Алгоритм Джонсона
    2. Уровень алгоритма Алгоритм Флойда-Уоршелла
  4. Уровень задачи Поиск транзитивного замыкания орграфа
    1. Уровень алгоритма Алгоритм Пурдома
  5. Уровень алгоритма Определение диаметра графа
  6. Уровень задачи Построение минимального остовного дерева (MST)
    1. Уровень алгоритма Алгоритм Борувки
    2. Уровень алгоритма Алгоритм Крускала
    3. Уровень алгоритма Алгоритм Прима
    4. Уровень алгоритма Алгоритм GHS
  7. Уровень задачи Поиск изоморфных подграфов
    1. Уровень алгоритма Алгоритм Ульмана
    2. Уровень алгоритма Алгоритм VF2
  8. Уровень задачи Связность в графах
    1. Уровень алгоритма Алгоритм Шилоаха-Вишкина поиска компонент связности
    2. Уровень алгоритма Система непересекающихся множеств
    3. Уровень алгоритма Алгоритм Тарьяна поиска компонент сильной связности
    4. Уровень алгоритма Алгоритм DCSC поиска компонент сильной связности
    5. Уровень алгоритма Алгоритм Тарьяна поиска компонент двусвязности
    6. Уровень алгоритма Алгоритм Тарьяна-Вишкина поиска компонент двусвязности
    7. Уровень алгоритма Алгоритм Тарьяна поиска «мостов» в графе
    8. Уровень алгоритма Определение вершинной связности графа
    9. Уровень алгоритма Алгоритм Габова определения рёберной связности графа
  9. Уровень задачи Поиск максимального потока в транспортной сети
    1. Уровень алгоритма Алгоритм Форда-Фалкерсона
    2. Уровень алгоритма Алгоритм проталкивания предпотока
  10. Уровень задачи Поиск потока минимальной стоимости в транспортной сети
  11. Уровень задачи Задача о назначениях
    1. Уровень алгоритма Венгерский алгоритм
    2. Уровень алгоритма Алгоритм аукциона
    3. Уровень алгоритма Алгоритм Гопкрофта-Карпа
  12. Вычисление betweenness centrality

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

  1. Поиск диаметра множества точек
  2. Построение выпуклой оболочки набора точек
  3. Триангуляция Делоне
  4. Диаграмма Вороного
  5. Принадлежность точки многоугольнику
  6. Пересечения выпуклых многоугольников
  7. Пересечение звёздных многоугольников

3.1 Компьютерная графика

  1. Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности
  2. Алгоритм определения видимых частей трёхмерной сцены
  3. Трассировка лучей - рендеринг реалистичных изображений
  4. Глобальное освещение - рассматривает прямое освещение и отражение от других объектов

4 Исследование и моделирование компьютеров

4.1 Тесты производительности компьютеров

  1. Уровень алгоритма High Performance Conjugate Gradient (HPCG) benchmark
  2. Уровень алгоритма Linpack benchmark

4.2 Алгоритмы моделирования квантовых систем

  1. Алгоритмы моделирования квантовых вычислений
    1. Уровень алгоритма Однокубитное преобразование вектора-состояния
    2. Уровень алгоритма Двухкубитное преобразование вектора-состояния
    3. Моделирование квантового преобразования Фурье

4.3 Алгоритмы машинного обучения

  1. Уровень алгоритма Алгоритм k средних (k-means)

4.3.1 Нейронные сети

  1. Распознавание образов
    1. Распознавание текста
    2. Распознавание речи
    3. Уровень алгоритма Распознавание лиц

4.3.2 Алгоритмы теории игр

5 Прикладные задачи из разных областей

5.1 Алгоритмы оптимизации

  1. Линейное программирование
  2. Симплекс-метод
  3. Метод ветвей и границ
  4. Генетические алгоритмы
  5. Муравьиные алгоритмы
  6. Комбинированные алгоритмы
  7. Уровень алгоритма Стохастическое двойственное динамическое программирование (SDDP)

5.2 Решение систем нелинейных уравнений

  1. Уровень алгоритма Метод Ньютона для систем нелинейных уравнений

5.3 Численные методы интегрирования

  1. Уровень алгоритма Квадратурные формулы
  2. Уровень алгоритма Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)
    1. Метод прямоугольников
    2. Метод трапеций
    3. Метод парабол (метод Симпсона)
    4. Метод Гаусса

5.4 Алгоритмы решения уравнений математической физики

  1. Уровень алгоритма Уравнение Пуассона, решение дискретным преобразованием Фурье

6 Криптографические алгоритмы

  1. Уровень алгоритма Метод встречи посередине

7 Другие алгоритмы