|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
|
|
Что такое рекурсия? Зачем она нужна?02.07.2013, 19:52. Показов 17418. Ответов 41
Метки нет (Все метки)
Объясните пож человеческим языком, что такое Рекурсия.
Я знаю что это вызов функции самой себя. Но всё равно не могу догнать зачем она нужна. Заранее спасибо!
0
|
|
| 02.07.2013, 19:52 | |
|
Ответы с готовыми решениями:
41
Что такое виртуальная функция и зачем она нужна? Что такое тестирующая программа и зачем она нужна? Что делает функция compare в коде и зачем она нужна в qsort |
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 13.05.2017, 17:15 | ||
|
Обход дерева при помощи рекурсии выглядит элегантно и понятно, в отличие от цикла. Для каждой задачи свои методы. А ошибки... Они в прямой зависимости от кривизны рук...
0
|
||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 13.05.2017, 17:29 | ||
![]() Рекурсия - прекрасный метод для решения соответствующих задач. Чтобы не было переполнения стека, необходимо четко представлять себе возможную глубину рекурсии и иметь прямые руки...
0
|
||
| 13.05.2017, 18:01 | |||
|
0
|
|||
|
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
|
||||
| 13.05.2017, 18:15 | ||||
|
Добавлено через 4 минуты
0
|
||||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 13.05.2017, 18:28 | ||
|
Удобно тем, что коррекция происходит быстро и практически не зависит от объема информации
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 13.05.2017, 18:55 | |
|
Добавлено через 17 минут Итак. 1.Без рекурсии обойтись можно. Есть циклы и, в конце концов, ГОУТО 2.Для реализации существенно рекурсивных алгоритмов нужен стек. Его можно и самостоятельно смоделировать. Но зачем, если язык уже предлагает готовое? Использование этого готового стека упрощает ваш код, но вы теряете прямой контроль за его поведением. За переполнением, например. Контроль косвенный возможен, но его применение весьма непросто, средо/аппаратно зависимо и может усложнить код настолько, что моделируемый стек покажется конфеткой. 3. Как говаривал К.Прутков, "Даже не пытайтесь объять необъятное". Ваш компьютер (вместе со всеми сетями мира) - всего лишь конечный автомат. И совершенно нелепо решать на нем истинно бесконечные задачи. Ограничения есть всегда. В качестве упражнения попробуйте написать программу, выводящую все десятичные знаки корня из двух.
0
|
|
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
|||
| 13.05.2017, 19:02 | |||
|
0
|
|||
|
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
|
||
| 13.05.2017, 19:10 | ||
|
И вообще, о чем мы тут говорим? Пред написанием программы надо сначала все продумать. И принять тот метод решения, который приемлем. Нет универсальных методов. Все имеет свои ограничения.
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
|
| 13.05.2017, 19:36 | |
|
0
|
|
|
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
|
||
| 14.05.2017, 12:47 | ||
|
но ведь как раз в том случае можно все написать через for внутри функции
0
|
||
|
99 / 52 / 27
Регистрация: 21.05.2012
Сообщений: 1,170
|
||
| 14.05.2017, 18:00 | ||
|
или это уже зарезервированные вещи в языке С++ ?
0
|
||
|
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
|
||
| 14.05.2017, 18:10 | ||
|
Вызвать что-то там. Выкинуть из стека данные текущей функции. return. Оптимизация 1: Выкинуть из стека данные текущей функции (их все равно больше никто не использует, ведь дальше return). Вызвать что-то там. return. Оптимизация 2: Выкинуть из стека данные текущей функции (их все равно больше никто не использует, ведь дальше return). goto что-то там (из-за особенностей аппаратной реализации вызова функций, эквивалентно паре call/ret идущей строго друг за другом).
2
|
||
|
"C with Classes"
|
||||||
| 14.05.2017, 19:14 | ||||||
|
sancho1996,
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
||
| 14.05.2017, 19:15 | ||
|
если так, факториал есть произведение всех натуральных чисел от 1 до n, это цикл а если, факториал есть произведение n на факториал n-1, факториал 1 равен 1, то это рекурсия
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 14.05.2017, 19:22 | ||
0
|
||
|
Диссидент
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
|
||
| 14.05.2017, 19:31 | ||
|
Я и так тебе верю! ![]() Добавлено через 53 секунды ЗЫ. Смотри в этой теме мой пост про Кнута.
0
|
||
| 14.05.2017, 19:31 | |
|
Явная специализация, зачем она нужна?(Шаблоны функций)
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы Что такое hash-таблицы, и зачем они нужны? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|