что такое начальное значение в отношении рекурсии?


Что такое начальное значение в отношении рекурсии?

5 2

5 ответов:

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

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

Похоже, что это значение, которое вы изначально передаете в функцию:

Например здесь: http://www.ibm.com/developerworks/linux/library/l-recurs.html

Каждая рекурсивная программа следует та же основная последовательность шагов:

  1. инициализируйте алгоритм. Рекурсивные программы часто нуждаются в затравке ценность для начала. Это выполняется либо с помощью параметр, передаваемый функции или по предоставление шлюзовой функции, которая является нерекурсивно но это создает семя значения для рекурсивного вычисления.
  2. проверьте, соответствует ли обрабатываемое текущее значение(значения) базовый вариант. Если да, то обработать и вернуть значение.
  3. переопределите ответ в терминах меньшей или более простой подзадачи или подпроблемы.
  4. запустите алгоритм над подзадачей.
  5. Объедините полученные результаты в формулировке ответа.
  6. верните результаты.

Если у вас есть функция f(n) , тогда базовым случаем является параметр n, который не приводит к рекурсивному вызову f.

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

Семя определяет начальную точку поиска.

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

Ура