12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
|
|
1 | |
Цикл vs рекурсия: достоинства и недостатки17.10.2010, 15:46. Показов 4454. Ответов 14
Метки нет (Все метки)
0
|
17.10.2010, 15:46 | |
Ответы с готовыми решениями:
14
Достоинства и недостатки Windows Zver. Достоинства и недостатки Достоинства и недостатки двух гигантов СДНФ и СКНФ достоинства и недостатки |
17.10.2010, 16:11 | 2 |
Недостатки?...Боюсь для цикла таковых нету(....
А достоинства цикла в том, что допустим тебе надо вывести массив в котором 300 значений!..Для этого тебе надо написать 300 строчек! Для этого придуманы циклы он помогает избавиться от нужды писать для этого примера те же самые 300 строчек... Есть циклы For To/DownTo Синтаксис For <переменная_ЦЕЛЫЙ_ТИП>:=<Начальное_значение> To/DownTo <конечное_значение> Do Begin ... End; Есть с предусловием и постусловием Хотя я думаю тебе не надо это) Но если надо расскажу)) Рекурсия...Мм...Плюсы ее можно расписывать долго)) Ей посвящена целая глава в любой книге по программированию) Главный минус в том, что все происходит очень долгО! Плюс в том, что позволяет выполнять легко задачи рекурентных формул и алгоритмов!... ТАк же может привезти к тому, что процесс рекурссии будет неуправляем...НУ и т.д.) Могу предложить на примере тебе рассмотреть метод быстрой сортировки "QuickSort" Там все поймешь) Плюсы ее)...Плюсы рекурсии в смысле)
0
|
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
|
|
17.10.2010, 16:22 [ТС] | 3 |
Ну смотри , мне хочу сравнить цикл и рекурсию . ихние плюсы и минусы .
А еще хотел спросить , а цикл и рекурсия взаимозаменяемы ? можешь дать ссылки на какую - нибудь литературу .
0
|
17.10.2010, 17:00 | 4 |
Понимаешь, что рекурсия и циклы они совершенно различны!! Подобие только в том, что рекурсия как бы зацикливается....Но в то же время выполняет более большие задачи нежели циклы...
К сожалению авторов не помню Но вот нашел в интернете...Там идет более менее хорошее описание
0
|
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
|
|
17.10.2010, 21:34 [ТС] | 5 |
мне самое главное увидеть в чем отличие
Добавлено через 3 часа 50 минут а еще есть какая нибудь понятная литература по этой теме ? Добавлено через 32 минуты дайте ссылку на какую нибудь другую книгу
0
|
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
|
|
18.10.2010, 13:08 | 6 |
tipo4ek, увидеть отличие ты не сможеш, там отличается смысл выполнения
Если вкратце то: Цикл - выполняет определенное к-во подпрограмму. А Рекурсия - это процедура или функция которая вызывает саму себя до окончания перебора Уже более подробно нужно читать книги. Лучшие книги по программированию вне зависимости от языка это сборники Кнута. В инете их валом, поищи. Но они малость тяжеловаты для восприятия, хотя после них если крыша не съехала сможеш программировать на любом языке, поняв его семантику.
0
|
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
18.10.2010, 13:19 | 7 |
сравнить надо не с рекурсией.
Добавлено через 1 минуту Не намного дольше, чем циклом, но память переполняется быстро, особенно, если аргумент - матрица. Добавлено через 2 минуты Любая рекурсия всё равно при исполнении превращается в цикл, да ещё и в двойной (но полезным является только обратный). Поэтому и заменить рекурсию циклом можно всегда. Но не всегда целесообразна такая замена. А вот наоборот может и не получиться. Добавлено через 3 минуты На этапе исполнения любая рекурсия превращается в цикл, так что это утверждение не верно. Но если задача рекурсивна по смыслу, то её проще решить рекурсией, чем явным циклом. Например, таковы все задачи по обработке деревьев.
0
|
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
|
|
18.10.2010, 16:34 | 8 |
Всё в этом плане до невозможности наоборот ИМХО. Я тебе с легкостью заменю люой цикл рекурсией, а вот рекурсию я так легко обратно в цикл не превращу (а может и вообще не получится).
в том то и дело что в цикл (явный цикл) рекурсия не превращается, а на пальцах объяснить не получится...
0
|
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
|
|
18.10.2010, 20:13 [ТС] | 9 |
поэтому я и говорю , посоветуйте литературу , которая не тяжела для восприятия и популярно все объясняла .
0
|
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
|
|
18.10.2010, 20:26 [ТС] | 11 |
ага .спасибо . а скажи , а вот рекурсия и цикл , они взаимозаменяемы и почему ?
0
|
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
|
|
18.10.2010, 20:33 | 12 |
tipo4ek, в принципе есть заменяемость, как я уже писал выше, любой цикл можно !легко! представить в виде рекурсии, но вот не всякую рекурсию можно так же легко представить циклом. Почему - вопрос посложнее, но я думаю со мной согласятся, что поскольку нужны эти две вещи дра разных целей (по структуре), но одного смылсла (перебора), именно поэтому они в принципе могут быть заменены друг другом.
В любом случае я считаю что познакомится с работой этих вещей хорошо моэно только на практике...
0
|
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
|
|
18.10.2010, 20:41 | 13 |
В принципе и любую рекурсию можно заменть циклом, но вот только нужно ли это? Ведь в некоторых случаях программа может возрасти в несколько раз. Проще будет записать рекурсией
0
|
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
|
|
18.10.2010, 21:05 [ТС] | 14 |
а понял . а плюсы у цикла перед рекурсией какие ?
Добавлено через 20 минут а еще скажите пожалуйста , а какие затраты ресурсов использует комп при написании проги циклом и рекурсией ?
0
|
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
|
|
18.10.2010, 21:52 | 15 |
рекурсия есстесвено более ресурсоемкая, ибо стек он не бесконечен, поэтому мой совет: где можно заменить рекурсию на цикл (т.е. это не будет геморойно), заменяйте!
PS в этом отношении цикл лучше, но для решения рекурсивных задач нужна рекурсия, и никуда тут не дется...
0
|
18.10.2010, 21:52 | |
18.10.2010, 21:52 | |
Помогаю со студенческими работами здесь
15
Достоинства и недостатки итерационных методов Достоинства и недостатки SHA-256 Теория Резерфорда (Достоинства и недостатки) Достоинства и недостатки серверных языков Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |