Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Комплект Информатика / Презентации. Информатика / Рекурсивные структуры в алгоритмах.pptx
Скачиваний:
50
Добавлен:
22.05.2015
Размер:
542.72 Кб
Скачать

Предположим, что существует решение для n-1 диска. Тогда для перекладывания n дисков надо действовать следующим образом:

1)Перекладываем n-1 диск.

2)Перекладываем n-й диск на

оставшийся свободным штырь.

3) Перекладываем стопку из n-1 диска, полученную в пункте (1) поверх n-го

диска.

Поскольку для случая n = 1 алгоритм перекладывания очевиден, то по индукции с помощью выполнения действий (1) – (3) можем переложить произвольное количество дисков.

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

Классическим примером является кривая Коха, построение которой показано на рисунке 9. Изначально берется отрезок прямой (рисунке 9а).

Рисунок 9 - Процесс построения кривой Коха

Он делится на три части, средняя часть изымается и вместо нее строится угол (рисунке 9б), стороны которого равны длине изъятого отрезка (то есть 1/3 от длины исходного отрезка ).

Рисунок 9 - Процесс построения кривой Коха

Такая

операция

повторяется с каждым из получившихс я 4-х отрезков

(рисунке 9в). Рисунок 9 - Процесс построения кривой Коха

И так далее (рисунке 9г).

Рисунок 9 - Процесс построения кривой Коха

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

Рисунок 9 - Процесс построения кривой Коха

Избавление от рекурсии

Любой рекурсивный алгоритм может быть переписан без использования рекурсии. Заметим, что быстродействие алгоритмов при избавлении от рекурсии, как правило, повышается. Еще одной причиной чтобы избавиться от рекурсии является ограничение на объем хранимых программой локальных переменных и значений параметров одновременно выполняющихся процедур.

Так почему же люди продолжают пользоваться рекурсивными алгоритмами? Очевидно, потому что это проще и естественнее, чем соответствующие нерекурсивные решения.

Преимущество рекурсивного определения объекта заключается в том, что такое конечное определение теоретически способно описывать бесконечно большое число объектов. С помощью рекурсивной программы же возможно описать бесконечное вычисление, причём без явных повторений частей программы.

Рекурсия

это

мощный

метод

программирования,

который

позволяет

разбить

задачу на

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

Соседние файлы в папке Презентации. Информатика