Ответы пользователя по тегу Рекурсия
  • Вложенная структура по линиям, рекурсия

    @veontomo
    Если еще не сделали, то совет такой:
    1. Ваш массив пользователей - это объект класса User со свойствами
    user_id: Integer
    items: array of User
    2. сделайте сигнатуру рекурсивной функции такой:
    User, Array -> Array
    где Array это тот накопитель, который Вам нужен в качестве ответа и в который постепенно надо перегонять данные из первого аргумента рекурсивной функции до тех пор пока он не станет "пустым".
    Ответ написан
    Комментировать
  • Вложенная структура по линиям, рекурсия

    @veontomo
    Три вопроса:
    1. какова точная структура $getStruct?
    2. с какими параметрами изначально вызывается getStructToLine()?
    3. какая ошибка выдается?
    Видимо, опечатки:
    1. ключ 'user_id' в $user['user_id']
    2. $this->getStructToLine(...)
    Ответ написан
  • Как работает рекурсивный метод?

    @veontomo
    Значение возвращается тому, кто его запросил.
    Например, если запросить f.fact(1), то метод Factorial::fact сразу вернет 1.
    Для запроса f.fact(2) цепочка вызовов будет такой:
    сначала запрос Factorial::fact(2), который вернет Factorial::fact(1) * 2.
    В ответе есть снова запрос Factorial::fact(1), который возвращает 1. Таким образом, получаем 2*1, т.е. 2.

    По этой же схеме проходят и остальные примеры:
    f.fact(10) -> f.fact(9) * 10 -> f.fact(8) * 9 * 10 -> ... -> f.fact(1) * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10.
    Ответ написан
    4 комментария