Реализации алгоритмов

Данный учебник представляет собой сборник реализаций распространённых алгоритмов на различных языках программирования.

В планах для этой книги является сбор исходного кода (листингов) из некоторых статей Википедии и других подходящих по лицензии источников, перевода аналогичной книги из других языковых разделов. В то же время код может быть расширен, усовершенствован и прокомментирован.

Содержание

править
Арифметика
Алгоритм Евклида
Бинарный алгоритм вычисления НОД
Быстрое возведение в степень
Перебор делителей
Расширенный алгоритм Евклида
Факториал
P-метод Полларда дискретного логарифмирования
Комбинаторика
Алгоритм Нарайаны
Задача о ранце
Размещения
Построение магических квадратов
Подсчёт счастливых билетов
Числа Стирлинга второго рода
Алгоритм Робинсона — Шенстеда
Числа Эйлера первого рода
Алгоритмы поиска
Двоичный поиск
Сортировка…
блочная
быстрая
вставками
выбором
перемешиванием
пирамидальная
поразрядная
пузырьком
слиянием
Шелла
Компьютерная графика
Алгоритм Коэна — Сазерленда
Алгоритм Брезенхэма
Геометрические алгоритмы
Алгоритм Кируса — Бека
Алгоритм DDA-линии
Алгоритм Ву
Задача о принадлежности точки многоугольнику
VP-дерево
Фракталы
Треугольник Серпинского
Ковёр Серпинского
Губка Менгера
Интерполяция
Многочлен Лагранжа
Алгоритм Рамера — Дугласа — Пекера
Билинейная интерполяция
Алгоритмы оптимизации
Венгерский алгоритм
Метод роя частиц
Строки и последовательности
Алгоритм Кнута — Морриса — Пратта
Наибольшая общая подпоследовательность
Расстояние Левенштейна
Редакционное предписание
RLE
Алгоритм Бойера — Мура
Алгоритм Ахо — Корасик
Алгоритм Укконена
Поиск в суффиксном дереве.
Линеаризация циклической строки.
Суффиксный массив.
Клеточные автоматы
Муравей Лэнгтона
Синтаксический разбор
Алгоритм сортировочной станции
Алгоритм Рутисхаузера
Метод рекурсивного спуска
Простые числа и разложение на множители
Тест Пепина
Метод Лемана
P-1 метод Полларда
Решето Аткина
Решето Сундарама
Решето Эратосфена
Численные методы, матричные вычисления
Разложение Холецкого
Метод бисекции
Метод прогонки
Быстрое преобразование Фурье
Градиентный спуск
Алгоритмы на графах
Поиск в глубину
Поиск в ширину
Алгоритм Брона — Кербоша
Алгоритм поиска A*
Алгоритм Дейкстры
Алгоритм Ли
Дайджесты и контрольные суммы
CRC
RC4
RC5
Алгоритм Луна
Алгоритм Верхуффа
Структуры данных
Двоичная куча
Связный список
АВЛ-дерево
Стек
Очередь
Криптография
Шифр Бэкона
Генерация пароля
Концепции языков программирования
Мультиметод
Замыкание
Параллельные вычисления
Алгоритм Деккера
Прочие
Вечный календарь
Алгоритм пасхалии
Парадокс Монти Холла
Динамическое программирование
Задача о расписании работы конвейера
Задача о перемножении цепочки матриц
Задача о наибольшей общей подпоследовательности
Расстояние Левенштейна

Ссылки на полезные ресурсы

править

См. также

править

В Викиверситете:

В Википедии: