Классификация алгоритмов: различия между версиями
Перейти к навигации
Перейти к поиску
| [досмотренная версия] | [досмотренная версия] |
Frolov (обсуждение | вклад) |
Frolov (обсуждение | вклад) Нет описания правки |
||
| Строка 157: | Строка 157: | ||
# {{level|Схема Горнера, вещественная версия, последовательный вариант}} | # {{level|Схема Горнера, вещественная версия, последовательный вариант}} | ||
=Алгоритмы на графах= | |||
= Алгоритмы на списках и массивах = | |||
==Алгоритмы поиска== | |||
# {{level|Линейный поиск - находит элемент в любом списке|Линейный поиск}}, <math>O(n)</math> | |||
# {{level|Двоичный поиск - находит элемент в отсортированном списке|Двоичный поиск}}, <math>O(\log(n))</math> | |||
==Алгоритмы сортировки== | |||
# {{level|Сортировка с помощью двоичного дерева}} | |||
# {{level|Сортировка пузырьком}} | |||
# {{level|Сортировка слиянием (последовательный и параллельный варианты)}} | |||
==Алгоритмы на графах== | |||
# Обход графа | # Обход графа | ||
## {{level|Поиск в ширину (BFS)}} | ## {{level|Поиск в ширину (BFS)}} | ||
| Строка 199: | Строка 208: | ||
## {{level|Алгоритм Гопкрофта-Карпа}} | ## {{level|Алгоритм Гопкрофта-Карпа}} | ||
# {{level|Вычисление betweenness centrality|Вычисление центральности вершин}} | # {{level|Вычисление betweenness centrality|Вычисление центральности вершин}} | ||
=Вычислительная геометрия= | =Вычислительная геометрия= | ||
# {{level|Поиск диаметра множества точек}} | # {{level|Поиск диаметра множества точек}} | ||
| Строка 220: | Строка 221: | ||
# {{level|Трассировка лучей - рендеринг реалистичных изображений}} | # {{level|Трассировка лучей - рендеринг реалистичных изображений}} | ||
# {{level|Глобальное освещение - рассматривает прямое освещение и отражение от других объектов}} | # {{level|Глобальное освещение - рассматривает прямое освещение и отражение от других объектов}} | ||
=Исследование и моделирование компьютеров= | =Исследование и моделирование компьютеров= | ||
==Тесты производительности компьютеров== | ==Тесты производительности компьютеров== | ||
| Строка 239: | Строка 231: | ||
## {{level|Двухкубитное преобразование вектора-состояния}} | ## {{level|Двухкубитное преобразование вектора-состояния}} | ||
## {{level|Моделирование квантового преобразования Фурье}} | ## {{level|Моделирование квантового преобразования Фурье}} | ||
==Алгоритмы машинного обучения== | |||
# {{level|Алгоритм k средних (k-means)}} | |||
===Нейронные сети=== | |||
# {{level|Распознавание образов}} | |||
## {{level|Распознавание текста}} | |||
## {{level|Распознавание речи}} | |||
## {{level|Распознавание лиц}} | |||
===Алгоритмы теории игр=== | |||
= Прикладные задачи из разных областей = | = Прикладные задачи из разных областей = | ||
| Строка 251: | Строка 251: | ||
==Решение систем нелинейных уравнений== | ==Решение систем нелинейных уравнений== | ||
# {{level|Метод Ньютона для систем нелинейных уравнений}} | # {{level|Метод Ньютона для систем нелинейных уравнений}} | ||
==Численные методы интегрирования== | ==Численные методы интегрирования== | ||
# {{level|Квадратурные формулы}} | # {{level|Квадратурные формулы}} | ||
| Строка 261: | Строка 260: | ||
==Алгоритмы решения уравнений математической физики== | ==Алгоритмы решения уравнений математической физики== | ||
# {{level|Уравнение Пуассона, решение дискретным преобразованием Фурье}} | # {{level|Уравнение Пуассона, решение дискретным преобразованием Фурье}} | ||
=Криптографические алгоритмы= | |||
# {{level|Метод встречи посередине}} | |||
=Другие алгоритмы= | =Другие алгоритмы= | ||
Версия от 11:16, 5 февраля 2018
Задачи алгебры
Матричные и векторные операции
Векторные операции
Суммирование сдваиванием
Равномерная норма вектора, вещественная версия, последовательно-параллельный вариант
Скалярное произведение векторов, вещественная версия, последовательно-параллельный вариант
Последовательно-параллельный метод суммирования
Умножения матриц на вектор
Умножения неособенных матриц на вектор
Умножения матриц специального вида на вектор
- Преобразование Фурье
Матричные операции
Разложения матриц
Треугольные разложения
Метод Гаусса (нахождение LU-разложения)
Метод Холецкого (нахождение симметричного треугольного разложения)
Разложение Холецкого (метод квадратного корня) базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы
- Известные треугольные разложения для матриц специального вида
Унитарно-треугольные разложения
- Подобные разложения
- Подобные разложения на унитарные и хессенберговы матрицы
- Симметричные разложения на унитарные и трёхдиагональные матрицы
Спектральное разложение (нахождение собственных значений и векторов)
- Неподобные унитарные разложения
Решение систем линейных уравнений
- Прямые методы решения СЛАУ
Linpack benchmark- Методы решения СЛАУ с матрицами специального вида
- Методы решения СЛАУ с треугольными матрицами
Методы решения СЛАУ с трёхдиагональными матрицами
- Методы решения СЛАУ с блочно-треугольными матрицами
- Блочная прямая подстановка (вещественный вариант)
- Блочная обратная подстановка (вещественный вариант)
- Методы решения СЛАУ с блочно-двухдиагональными матрицами
- Методы решения СЛАУ с блочно-трёхдиагональными матрицами
- Методы, основанные на стандартном LU-разложении матрицы
- Другие методы
- Решения СЛАУ с матрицами специального вида, имеющими известные обратные матрицы
- Итерационные методы решения СЛАУ
Решения спектральных задач
Спектральное разложение (нахождение собственных значений и векторов)
- Частичная спектральная задача
Сингулярное разложение (нахождение сингулярных значений и векторов)
Алгебра многочленов
Алгоритмы на списках и массивах
Алгоритмы поиска
- Линейный поиск - находит элемент в любом списке, [math]\displaystyle{ O(n) }[/math]
- Двоичный поиск - находит элемент в отсортированном списке, [math]\displaystyle{ O(\log(n)) }[/math]
Алгоритмы сортировки
- Сортировка с помощью двоичного дерева
- Сортировка пузырьком
- Сортировка слиянием (последовательный и параллельный варианты)
Алгоритмы на графах
- Обход графа
Поиск кратчайшего пути от одной вершины (SSSP)
Поиск в ширину (BFS) (для невзвешенных графов)
Алгоритм Дейкстры
Алгоритм Беллмана-Форда
Алгоритм Δ-шагания
Поиск кратчайшего пути для всех пар вершин (APSP)
Поиск транзитивного замыкания орграфа
Определение диаметра графа
Построение минимального остовного дерева (MST)
Поиск изоморфных подграфов
Связность в графах
Алгоритм Шилоаха-Вишкина поиска компонент связности
Система непересекающихся множеств
Алгоритм Тарьяна поиска компонент сильной связности
Алгоритм DCSC поиска компонент сильной связности
Алгоритм Тарьяна поиска компонент двусвязности
Алгоритм Тарьяна-Вишкина поиска компонент двусвязности
Алгоритм Тарьяна поиска «мостов» в графе
Определение вершинной связности графа
Алгоритм Габова определения рёберной связности графа
Поиск максимального потока в транспортной сети
Поиск потока минимальной стоимости в транспортной сети
Задача о назначениях
- Вычисление betweenness centrality
Вычислительная геометрия
- Поиск диаметра множества точек
- Построение выпуклой оболочки набора точек
- Триангуляция Делоне
- Диаграмма Вороного
- Принадлежность точки многоугольнику
- Пересечения выпуклых многоугольников
- Пересечение звёздных многоугольников
Компьютерная графика
- Алгоритмы построения отрезка - алгоритмы для аппроксимации отрезка на дискретной графической поверхности
- Алгоритм определения видимых частей трёхмерной сцены
- Трассировка лучей - рендеринг реалистичных изображений
- Глобальное освещение - рассматривает прямое освещение и отражение от других объектов
Исследование и моделирование компьютеров
Тесты производительности компьютеров
Алгоритмы моделирования квантовых систем
Алгоритмы машинного обучения
Нейронные сети
Алгоритмы теории игр
Прикладные задачи из разных областей
Алгоритмы оптимизации
- Линейное программирование
- Симплекс-метод
- Метод ветвей и границ
- Генетические алгоритмы
- Муравьиные алгоритмы
- Комбинированные алгоритмы
Стохастическое двойственное динамическое программирование (SDDP)
Решение систем нелинейных уравнений
Численные методы интегрирования
Квадратурные формулы
Квадратурные (кубатурные) методы численного интегрирования по отрезку (многомерному кубу)