Методы разработки алгоритмов

[1]

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

Различные методы разработки алгоритмов отличаются тем, на какие подзадачи производится разбиение и как эти подзадачи соотносятся между собой. Хотя общепринятой классификации методов разработки алгоритмов нет, тем не менее некоторые общие соображения на этот счет могут быть высказаны.

Любая задача может быть сформулирована как функция преобразования исходных данных в выходные данные: f (X) = Y. Как исходные данные, так и функция могут быть достаточно сложными. Например, X— число, вектор, текст на каком-либо языке, БД, рисунок, информация. То же можно сказать и о выходных данных. Функция может быть суммой чисел, тригонометрической функцией, корнем уравнения, переводом текста с русского на английский язык, раскраской полутонового рисунка и т.д.

Разбивая задачу на подзадачи, можно: разбивать исходные и выходные данные на части или упрощать их; производить декомпозицию функции, т.е. превращать ее в суперпозицию более простых.

  • [1] Использованы материалы сайта http://it.kgsu.ru (автор — Т. А. Никифорова).
 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >