С Новым годом! Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/25: Рейтинг темы: голосов - 25, средняя оценка - 4.68
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
1

Цикл vs рекурсия: достоинства и недостатки

17.10.2010, 15:46. Показов 4454. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
народ а скажите пожалуйста какие нибудь недостатки или достоинства за цикл или рекурсию .
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.10.2010, 15:46
Ответы с готовыми решениями:

Достоинства и недостатки
Достоинства и недостатки среды разработки Visual Studio 2010 для Windows- phones?

Windows Zver. Достоинства и недостатки
Доброго всем дня. Вот захотелось бы мне (для личного познания) узнать у кого какие мнения о данной...

Достоинства и недостатки двух гигантов
Я написал статью на тему достоинств и недостатковудалено Жду Ваших отзывов)))

СДНФ и СКНФ достоинства и недостатки
Добрый день! Объясните пожалуйста, в чем проявляются достоинства и недостатки СКНФ И СДНФ, а так...

14
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
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
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
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
Цитата Сообщение от leejack Посмотреть сообщение
Недостатки?...Боюсь для цикла таковых нету(....
А достоинства цикла в том, что допустим тебе надо вывести массив в котором 300 значений!..Для этого тебе надо написать 300 строчек! Для этого придуманы циклы он помогает избавиться от нужды писать для этого примера те же самые 300 строчек...
сравнить надо не с рекурсией.

Добавлено через 1 минуту
Цитата Сообщение от leejack Посмотреть сообщение
Главный минус в том, что все происходит очень долгО!
Не намного дольше, чем циклом, но память переполняется быстро, особенно, если аргумент - матрица.

Добавлено через 2 минуты
Цитата Сообщение от tipo4ek Посмотреть сообщение
А еще хотел спросить , а цикл и рекурсия взаимозаменяемы
Любая рекурсия всё равно при исполнении превращается в цикл, да ещё и в двойной (но полезным является только обратный). Поэтому и заменить рекурсию циклом можно всегда. Но не всегда целесообразна такая замена. А вот наоборот может и не получиться.

Добавлено через 3 минуты
Цитата Сообщение от leejack Посмотреть сообщение
Но в то же время выполняет более большие задачи нежели циклы...
На этапе исполнения любая рекурсия превращается в цикл, так что это утверждение не верно. Но если задача рекурсивна по смыслу, то её проще решить рекурсией, чем явным циклом. Например, таковы все задачи по обработке деревьев.
0
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
18.10.2010, 16:34 8
Цитата Сообщение от taras atavin Посмотреть сообщение
Любая рекурсия всё равно при исполнении превращается в цикл, да ещё и в двойной (но полезным является только обратный). Поэтому и заменить рекурсию циклом можно всегда. Но не всегда целесообразна такая замена. А вот наоборот может и не получиться.
Всё в этом плане до невозможности наоборот ИМХО. Я тебе с легкостью заменю люой цикл рекурсией, а вот рекурсию я так легко обратно в цикл не превращу (а может и вообще не получится).
Цитата Сообщение от taras atavin Посмотреть сообщение
На этапе исполнения любая рекурсия превращается в цикл, так что это утверждение не верно. Но если задача рекурсивна по смыслу, то её проще решить рекурсией, чем явным циклом. Например, таковы все задачи по обработке деревьев.
в том то и дело что в цикл (явный цикл) рекурсия не превращается, а на пальцах объяснить не получится...
0
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
18.10.2010, 20:13  [ТС] 9
поэтому я и говорю , посоветуйте литературу , которая не тяжела для восприятия и популярно все объясняла .
0
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
18.10.2010, 20:15 10
Цитата Сообщение от tipo4ek Посмотреть сообщение
которая не тяжела для восприятия и популярно все объясняла
рекурсия проще и яснее некуда
1
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 минут
Цитата Сообщение от tipo4ek Посмотреть сообщение
а понял . а плюсы у цикла перед рекурсией какие ?
а еще скажите пожалуйста , а какие затраты ресурсов использует комп при написании проги циклом и рекурсией ?
0
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
18.10.2010, 21:52 15
рекурсия есстесвено более ресурсоемкая, ибо стек он не бесконечен, поэтому мой совет: где можно заменить рекурсию на цикл (т.е. это не будет геморойно), заменяйте!
PS в этом отношении цикл лучше, но для решения рекурсивных задач нужна рекурсия, и никуда тут не дется...
0
18.10.2010, 21:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.10.2010, 21:52
Помогаю со студенческими работами здесь

Достоинства и недостатки итерационных методов
Не могу найти ответы на вопросы: 1.Чем чревато отсутствие начальной инициализации? 2.Какие...

Достоинства и недостатки SHA-256
Здравствуйте. Не могли бы вы перечислить достоинства и недостатки хеш-функции SHA-256? Только...

Теория Резерфорда (Достоинства и недостатки)
Добрый вечер уважаемые форумчане. Возник вопрос насчет формулировки теории Резерфорда. Как можно...

Достоинства и недостатки серверных языков
Ребята! - Вопрос !!! ) Кто какие знает сравнение, анализы, преимущества и недостатки серверных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru