|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.11.2010, 11:53 | #1 |
Новичок
Джуниор
Регистрация: 03.11.2010
Сообщений: 1
|
рекурсия
помогите пожалуйста не как не могу понять что такое рекурсия
|
04.11.2010, 13:16 | #2 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Рекурсия. Вызов процедуры (функции) из самой себя.
Код:
|
04.11.2010, 15:36 | #3 |
Пользователь
Регистрация: 23.08.2010
Сообщений: 98
|
Лучше всего начать рассмотрение рекурсии с простого примера. Пример с факториалом уже набил оскомину, поэтому рассмотрим алгоритм детской считалочки. Есть упорядоченная группа из N человек и считалочка из M слов. Последовательность действий считающего на человеческом языке можно описать так:
1. Если в группе один человек, он водит 2. Иначе, из группы нужно исключить человека, на котором закончится счет, и повторить процедуру для оставшихся членов группы, считая из с человека следующего по порядку сразу за выбывшим. После каждого исключения очередного человека из группы, по существу, формируется новая группа меньших размеров с новым отношением порядка. Налицо самоподобие алгоритма, на псевдокоде это можно записать так: Код:
Из примера видно, что рекурсивный алгоритм имеет 1) условие останова, предотвращающее зацикливание (в данном случае - при обработке тривиальной группы из одного человека) 2) обращение к самому себе (вернуть(выбрать_водящего(...))). Последний раз редактировалось sergey.d; 04.11.2010 в 15:43. |
04.11.2010, 15:39 | #4 |
Software Developer
Старожил
Регистрация: 19.12.2008
Сообщений: 2,070
|
Очень доступно описано, что такое рекурсия в учебнике - Стивен Прата "Язык программирования C++. Лекции и упражнения". Так, что советую прочитать...
Будь проще и люди к тебе потянутся
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсия | Alexsey1991 | Помощь студентам | 1 | 12.05.2010 10:24 |
Рекурсия))) | NewMen | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 02.05.2010 14:24 |
Рекурсия на С++ | Nitriyc | Помощь студентам | 0 | 28.04.2010 17:22 |
си рекурсия | world12_tk | Помощь студентам | 1 | 10.04.2009 23:06 |