Структура данных — Основы рекурсии.

Интернет вселенная
Структура данных - Основы рекурсии.

Некоторые языки программирования позволяют вызывать модули или функции независимо друг от друга. Этот метод известен как ретроспекция. В ретроспективе функция a либо вызывает напрямую, либо вызывает функцию B. Это вызывает исходную функцию a. Функция a называется ретроспективной функцией.

Пример — функция, которая вызывает сама себя.

Примером может служить функция, которая вызывает другую функцию, которая вызывает ее снова.

свойства

Ретроспективные функции, такие как циклы, могут выполняться бесконечно. Чтобы ретроспективные функции не работали бесконечно, они должны обладать двумя характеристиками

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

Прогрессивный подход — ретроспективные вызовы должны развиваться каждый раз, когда достигается основной критерий для ретроспективного вызова.

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

Прогрессивный подход — ретроспективные вызовы должны развиваться каждый раз, когда достигается основной критерий для ретроспективного вызова.

Реализация

Многие языки программирования используют стеки для реализации ретроспективы. Обычно функция (вызов) передает управление вызванным выполнением другой функции (вызову) или самой себе, SO -CALLED FUNCTIONS. Этот процесс передачи может также включать в себя передачу определенных данных от абонента к абоненту.

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

ЧИТАТЬ ЕЩЁ:  Управление сезонными тенденциями поиска

Активация Записи

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

Анализ рекурсии

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

Сложность времени

В случае с итерациями получается количество итераций и вычисляется временная сложность. Аналогично, в случае ретроспектив, предполагая, что все стабильно, он пытается подсчитать количество раз выполнения ретроспективного вызова. Количество вызовов функции равно (1), следовательно (n) ретроспективная функция o(n) раз.

Космическая сложность

Пространственная сложность рассчитывается как объем дополнительного пространства, необходимого для выполнения модуля. В случае с итерациями компилятор требует очень мало дополнительного места. Компилятор постоянно обновляет значения переменных, используемых в итерациях. Однако в случае ретроспектив система должна поддерживать файл активации каждый раз, когда выполняется вызов ретроспективы. Поэтому пространственная сложность ретроспективных функций считается более высокой, чем пространственная сложность рекуррентных функций.

Оцените статью