|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
|
|
Что такое рекурсия? Зачем она нужна?02.07.2013, 19:52. Показов 17175. Ответов 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,875
|
||
| 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-таблицы, и зачем они нужны? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|