|
0 / 0 / 0
Регистрация: 24.06.2013
Сообщений: 55
|
|
Что такое рекурсия? Зачем она нужна?02.07.2013, 19:52. Показов 17105. Ответов 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,874
|
||
| 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-таблицы, и зачем они нужны? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np
class PlantAgent:
def __init__(self, name, strategy, initial_biomass):
self. name = name
self. strategy = strategy # "greedy" (широколиственные) или. . .
|
сукцессия 9. Математика подлости: как растения предали грибных друзей
anaschu 27.06.2026
Статья 2. Глобальная фосфорная война: эволюционно-экономические механизмы распределения биомов Земли
Введение: Экологический рынок как игра с нулевой суммой
Традиционная экология долгое время. . .
|
сукцессия 8. Как я спорил с ИИ, которые - агенты растений и ненавистники грибов!
anaschu 27.06.2026
Статья 1. Хроники грибного восстания: как Сократов диалог разрушил академические догмы ИИ
Введение: Синдром «цифрового учебника»
Современные большие языковые модели (LLM) обладают колоссальным. . .
|
Главный вопрос моделирования сукцессии
anaschu 27.06.2026
главный вопрос.
Если эктомикориза лучше добывает недоступный фосфор. И ее масса максимальна из всех.
А широколиственный лес тоже имеет самую крутую биомассу.
То почему не возникло их симбиоза? Это. . .
|
|
сукцессия 6. Питон реализация энилоджиковской модели, картинка про Центральную часть будущей модели
anaschu 26.06.2026
Етить. ИИ мне на основе моего старого файла R создал вот эту вот хмерь на пайтоне.
Это уже новая модель, модель сукцессии грибной.
потоки фосфора, азота. Углерода.
5 видов организмов.
Я даже. . .
|
Как замкнутый ядерный цикл решит проблему недостатки фосфора? Био миграция фосфора со дна океана
anaschu 26.06.2026
Биологический лифт: Концепция подъема фосфора со дна океана с помощью ЗЯТЦ
Предлагаю на обсуждение альтернативу тяжелому промышленному бурению океанического дна. Вместо сложной инженерии мы можем. . .
|
сукцессия 5
anaschu 26.06.2026
ПЛАН РАЗРАБОТКИ математической модели сукцессии микоризных систем
Переход AM → EcM (Endo + ErM) · Шумилов А. С. · ИФХиБПП РАН · Пущино · 2026
. . .
|
сукцессия 4
anaschu 25.06.2026
Более детализированный план разработки
План доработки модели динамики микоризных симбиозов (EcM с гистерезисом)
Цель: Реализовать логику переключения между эрикоидным (ErM) и эктомикоризным. . .
|