Статус: Офлайн
Реєстрація: 29.01.2007
Повідом.: 236
Реєстрація: 29.01.2007
Повідом.: 236
Подумал в дороге. Вообщем если рекурсивное обращение одно, то оно эквивалентно циклу, потому как порождает только одну ветвь. Если рекурсивное обращение одно, является последним оператором и не находится в теле условного оператора. Т.е. выполняется всегда, то можно преобразовать в цикл. Это то, о чем и говорил Оршанский. Если после рекурсивного обращения есть операторы, то после каждого обращения остается хвостик. Сейчас не готов сказать однозначно, но кажется и в таком случае можно преобразовать в цикл. Но, самое интересное, что можно преобразовать в цикл даже если есть еще рекурсивные обращения кроме последнего! Получается что разворачиваем в цикл последнюю ветку (ту, что соответствует последней рекурсии), которая обязательно возникнет в силу того, что она не входит в тело условного оператора. Получается что это единственное условие для того что бы упростить рекурсивный алгортм! К вечеру продумаю что можно сделать с хвостиком. Т.е. со случаем если рекурсивное обращение не последний оператор. Но и в такой формулировке можно смело редактировать википедию.
Да, и, конечно, это справедливо и для императивных языков.
Да, и, конечно, это справедливо и для императивных языков.

Плиз, не награждайте меня свойствами мне не присущими. Хотя тоже бываю здесь не прав. Вот как с рекурсией. Сначала не понял смысл разворачивания в цикл. Думал что это обычное .. хотя не важно что я думал.. Постепенно прийдет понимание. И взаимо.. Нормальная реакция. Другой и не ожидал. Терпение и еще раз терпение
