Основы программирования — второй семестр 08-09; Михалкович С.С.; III часть — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (Новая: ===Рекурсия=== Определение рекурсии. Рекурсивные определения. Праворекурсивное и леворекурсивное опр...) |
(→Рекурсия) |
||
Строка 3: | Строка 3: | ||
Определение рекурсии. | Определение рекурсии. | ||
− | Рекурсивные определения. Праворекурсивное и леворекурсивное определения. | + | Рекурсивные определения. Примеры: n!, a^n. |
+ | Нерекурсивная часть рекурсивного определения. | ||
+ | Праворекурсивное и леворекурсивное определения. | ||
− | + | Рекурсия в программировании. | |
+ | Прямая и косвенная рекурсия. Необходимость forward при косвенной рекурсии. | ||
− | Понятие рекурсивного спуска и рекурсивного возврата. Графическое изображение рекурсивного спуска и рекурсивного возврата | + | Простые примеры использования рекурсии. Рекурсивное зацикливание. |
+ | |||
+ | Понятие рекурсивного спуска и рекурсивного возврата. Графическое изображение рекурсивного спуска и рекурсивного возврата. Глубина рекурсии, текущий уровень рекурсии. | ||
Примеры вычисления n!, a^n. | Примеры вычисления n!, a^n. | ||
− | + | Сравнение двух способов вычисления a^n по глубине рекурсии и количестве операций. | |
+ | |||
+ | Пример нахождения минимума в массиве. | ||
+ | |||
+ | Замечания | ||
+ | * О переполнении программного стека | ||
+ | * О накладных расходах на рекурсию | ||
+ | * О замене рекурсии итерацией | ||
+ | |||
+ | Пример вывода списка с помощью рекурсии, применения операции ко всем элементам списка. |
Версия 23:38, 9 марта 2009
Рекурсия
Определение рекурсии.
Рекурсивные определения. Примеры: n!, a^n. Нерекурсивная часть рекурсивного определения. Праворекурсивное и леворекурсивное определения.
Рекурсия в программировании. Прямая и косвенная рекурсия. Необходимость forward при косвенной рекурсии.
Простые примеры использования рекурсии. Рекурсивное зацикливание.
Понятие рекурсивного спуска и рекурсивного возврата. Графическое изображение рекурсивного спуска и рекурсивного возврата. Глубина рекурсии, текущий уровень рекурсии.
Примеры вычисления n!, a^n.
Сравнение двух способов вычисления a^n по глубине рекурсии и количестве операций.
Пример нахождения минимума в массиве.
Замечания
- О переполнении программного стека
- О накладных расходах на рекурсию
- О замене рекурсии итерацией
Пример вывода списка с помощью рекурсии, применения операции ко всем элементам списка.