Рубрики
Без рубрики

Путь Иуды к рекурсии

Краткое введение в рекурсию. Помечено алгоритмами, структурой данных, рекурсией, java.

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

D1-Мечта на первом уровне D2-Мечта на втором уровне D3-Мечта на третьем уровне D2-Мечта на четвертом уровне

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

Этого достаточно, я думаю, что то, что случилось с Джудом, можно назвать рекурсивным (прилагательное рекурсии), так что же такое рекурсия? рекурсия – это просто акт определения функции или объекта в терминах самого себя, который вызывает функцию или объект прямо внутри ее определения. И, согласно википедии, считается, что это функция, определенная в терминах более простых и часто уменьшенных версий самой себя. Ну, вы можете подумать: “для чего, черт возьми, нам нужна рекурсия” рекурсия может использоваться для выполнения повторяющихся задач, таких как цикл итерации, хотя и не является идеальной заменой или альтернативой итерациям, потому что для этого может потребоваться больше места, так как вызовы каждой функции хранятся в стеке до достижения базового случая. Стек? о, что это? согласно википедии, стек – это абстрактный тип данных, который служит набором элементов с двумя основными операциями Push (добавление элемента) и Pop (удаление элемента).Операция может быть выполнена двумя различными способами которые являются

Первым вошел Последним вышел и последним вошел Первым Из

Просто рассматривайте его как контейнер для хранения или даже думайте о нем как о стопке книг, как на рисунке ниже

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

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

//код

class Test{


    public int repeat(int x, int n){

        if (n == 0) {
            return 1;
        }
        return  x*repeat(x,n-1);


    }
    public static void main(String[] args){
        Test test = new Test();
        System.out.println( test.repeat(5,3));

    }
}

Объяснение:

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

Нашли какую-нибудь ошибку? Пожалуйста, дайте мне знать в разделе “Ответ”. В любом случае, я только что закончил свою первую статью.

Оригинал: “https://dev.to/niyiojeyinka/the-jude-way-to-recursion-21hh”