Алгоритм: различия между версиями
KVN (обсуждение | вклад) |
KVN (обсуждение | вклад) |
||
Строка 49: | Строка 49: | ||
[[Категория:Основные термины]] | [[Категория:Основные термины]] | ||
[[Категория:Теория автоматов]] | [[Категория:Теория автоматов]] | ||
[[Категория:Теория вычислений]] | |||
[[Категория:Теория программирования]] |
Текущая версия от 20:39, 26 декабря 2024
Алгоритм (Algorithm) — точное предписание, которое задает вычислительный процесс (называемый в этом случае алгоритмическим), начинающийся с произвольного исходного данного (из некоторой совокупности возможных для данного алгоритма исходных данных) и направленный на получение полностью определяемого этим исходным данным результата (Математическая энциклопедия, Т.1. С. 202). Алгоритмический процесс есть процесс последовательного преобразования конструктивных объектов, проходящий дискретными шагами; каждый шаг состоит в смене одного конструктивного объекта другим. Алгоритмы характеризуются вычислительной сложностью и ёмкостной сложностью. По виду используемой вычислительной модели алгоритмы делятся на последовательные (или детерминированные), параллельные (или недетерминированные), распределенные и пр.
Подробнее об алгоритмах см. "Математическая энциклопедия", статьи "Алгоритм", "Алгоритм локальный", "Алгоритма сложность", "Алгоритмическая проблема", "Алгоритмическая сводимость", "Алгоритмов теория" и др., а также литературу, указанную в конце каждой статьи.
Алгоритмы на графах представляют собой частный случай общего понятия алгоритма; исходными данными для них служат абстрактные или помеченные графы. В процессе работы алгоритма могут создаваться новые графы или может изменяться система меток. Результатом работы алгоритма может быть граф, помеченный граф или конструктивный объект иной природы, например число или слово.
См. также
- Венгерский алгоритм,
- Жадный алгоритм,
- Машина Тьюринга,
- Параллельный алгоритм,
- Последовательный алгоритм,
- Теория алгоритмов.
Литература
- Успенский В.А., Семенов А.Л. Теория алгоритмов: основные понятия и приложения. — М.: Наука, 1987.
- Ахо А., Хопкрофт Дж., Ульман Дж. Построение и анализ вычислительных алгоритмов. — М.: Мир, 1979.
- Kasyanov V. N., Evstigneev V. A. Graph theory for programmers. Algorithms for processing trees, Kluwer Academic Publishers, 2000
- Касьянов В.Н. Оптимизирующие преобразования программ. — М.: Наука, 1988.
- Касьянов В.Н., Евстигнеев В. А. Графы в программировании: обработка, визуализация и применение. — СПб.: БХВ-Петербург, 2003.
- Касьянов В.Н., Касьянова Е.В. Теория вычислений. — Новосибирск: НГУ, 2018.
- Рейнгольд Э., Нивергельт Ю., Део Н. Комбинаторные алгоритмы. Теория и практика. — М.: Мир, 1980.