Основы программирования — второй семестр 08-09; Михалкович С.С.; III часть — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Новая: ===Рекурсия=== Определение рекурсии. Рекурсивные определения. Праворекурсивное и леворекурсивное опр...)
 
(Рекурсия)
Строка 3: Строка 3:
 
Определение рекурсии.
 
Определение рекурсии.
  
Рекурсивные определения. Праворекурсивное и леворекурсивное определения.
+
Рекурсивные определения. Примеры: n!, a^n.
 +
Нерекурсивная часть рекурсивного определения.
 +
Праворекурсивное и леворекурсивное определения.
  
Простые примеры использования рекурсии.  
+
Рекурсия в программировании.
 +
Прямая и косвенная рекурсия. Необходимость forward при косвенной рекурсии.
  
Понятие рекурсивного спуска и рекурсивного возврата. Графическое изображение рекурсивного спуска и рекурсивного возврата
+
Простые примеры использования рекурсии. Рекурсивное зацикливание.
 +
 
 +
Понятие рекурсивного спуска и рекурсивного возврата. Графическое изображение рекурсивного спуска и рекурсивного возврата. Глубина рекурсии, текущий уровень рекурсии.
  
 
Примеры вычисления n!, a^n.
 
Примеры вычисления n!, a^n.
  
Рекурсия и списки. Операции car и cdr
+
Сравнение двух способов вычисления a^n по глубине рекурсии и количестве операций.
 +
 
 +
Пример нахождения минимума в массиве.
 +
 
 +
Замечания
 +
* О переполнении программного стека
 +
* О накладных расходах на рекурсию
 +
* О замене рекурсии итерацией
 +
 
 +
Пример вывода списка с помощью рекурсии, применения операции ко всем элементам списка.

Версия 23:38, 9 марта 2009

Рекурсия

Определение рекурсии.

Рекурсивные определения. Примеры: n!, a^n. Нерекурсивная часть рекурсивного определения. Праворекурсивное и леворекурсивное определения.

Рекурсия в программировании. Прямая и косвенная рекурсия. Необходимость forward при косвенной рекурсии.

Простые примеры использования рекурсии. Рекурсивное зацикливание.

Понятие рекурсивного спуска и рекурсивного возврата. Графическое изображение рекурсивного спуска и рекурсивного возврата. Глубина рекурсии, текущий уровень рекурсии.

Примеры вычисления n!, a^n.

Сравнение двух способов вычисления a^n по глубине рекурсии и количестве операций.

Пример нахождения минимума в массиве.

Замечания

  • О переполнении программного стека
  • О накладных расходах на рекурсию
  • О замене рекурсии итерацией

Пример вывода списка с помощью рекурсии, применения операции ко всем элементам списка.