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

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

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

Author24 — интернет-сервис помощи студентам
народ а скажите пожалуйста какие нибудь недостатки или достоинства за цикл или рекурсию .
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2010, 15:46
Ответы с готовыми решениями:

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

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

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

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

Есть циклы For To/DownTo
Синтаксис
For <переменная_ЦЕЛЫЙ_ТИП>:=<Начальное_значе ние> To/DownTo <конечное_значение> Do
Begin
...
End;

Есть с предусловием и постусловием
Хотя я думаю тебе не надо это) Но если надо расскажу))

Рекурсия...Мм...Плюсы ее можно расписывать долго)) Ей посвящена целая глава в любой книге по программированию)
Главный минус в том, что все происходит очень долгО!
Плюс в том, что позволяет выполнять легко задачи рекурентных формул
и алгоритмов!...
ТАк же может привезти к тому, что процесс рекурссии будет неуправляем...НУ и т.д.)

Могу предложить на примере тебе рассмотреть метод быстрой сортировки "QuickSort"
Там все поймешь) Плюсы ее)...Плюсы рекурсии в смысле)
0
 Аватар для tipo4ek
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
17.10.2010, 16:22  [ТС]
Ну смотри , мне хочу сравнить цикл и рекурсию . ихние плюсы и минусы .
А еще хотел спросить , а цикл и рекурсия взаимозаменяемы ?
можешь дать ссылки на какую - нибудь литературу .
0
 Аватар для leejack
192 / 173 / 37
Регистрация: 19.01.2010
Сообщений: 610
Записей в блоге: 1
17.10.2010, 17:00
Понимаешь, что рекурсия и циклы они совершенно различны!! Подобие только в том, что рекурсия как бы зацикливается....Но в то же время выполняет более большие задачи нежели циклы...

К сожалению авторов не помню
Но вот нашел в интернете...Там идет более менее хорошее описание
0
 Аватар для tipo4ek
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
17.10.2010, 21:34  [ТС]
мне самое главное увидеть в чем отличие

Добавлено через 3 часа 50 минут
а еще есть какая нибудь понятная литература по этой теме ?

Добавлено через 32 минуты
дайте ссылку на какую нибудь другую книгу
0
 Аватар для Sergiuz
161 / 159 / 39
Регистрация: 10.10.2010
Сообщений: 461
18.10.2010, 13:08
tipo4ek, увидеть отличие ты не сможеш, там отличается смысл выполнения
Если вкратце то: Цикл - выполняет определенное к-во подпрограмму.
А Рекурсия - это процедура или функция которая вызывает саму себя до окончания перебора

Уже более подробно нужно читать книги. Лучшие книги по программированию вне зависимости от языка это сборники Кнута. В инете их валом, поищи. Но они малость тяжеловаты для восприятия, хотя после них если крыша не съехала сможеш программировать на любом языке, поняв его семантику.
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
18.10.2010, 13:19
Цитата Сообщение от leejack Посмотреть сообщение
Недостатки?...Боюсь для цикла таковых нету(....
А достоинства цикла в том, что допустим тебе надо вывести массив в котором 300 значений!..Для этого тебе надо написать 300 строчек! Для этого придуманы циклы он помогает избавиться от нужды писать для этого примера те же самые 300 строчек...
сравнить надо не с рекурсией.

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

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

Добавлено через 3 минуты
Цитата Сообщение от leejack Посмотреть сообщение
Но в то же время выполняет более большие задачи нежели циклы...
На этапе исполнения любая рекурсия превращается в цикл, так что это утверждение не верно. Но если задача рекурсивна по смыслу, то её проще решить рекурсией, чем явным циклом. Например, таковы все задачи по обработке деревьев.
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
18.10.2010, 16:34
Цитата Сообщение от taras atavin Посмотреть сообщение
Любая рекурсия всё равно при исполнении превращается в цикл, да ещё и в двойной (но полезным является только обратный). Поэтому и заменить рекурсию циклом можно всегда. Но не всегда целесообразна такая замена. А вот наоборот может и не получиться.
Всё в этом плане до невозможности наоборот ИМХО. Я тебе с легкостью заменю люой цикл рекурсией, а вот рекурсию я так легко обратно в цикл не превращу (а может и вообще не получится).
Цитата Сообщение от taras atavin Посмотреть сообщение
На этапе исполнения любая рекурсия превращается в цикл, так что это утверждение не верно. Но если задача рекурсивна по смыслу, то её проще решить рекурсией, чем явным циклом. Например, таковы все задачи по обработке деревьев.
в том то и дело что в цикл (явный цикл) рекурсия не превращается, а на пальцах объяснить не получится...
0
 Аватар для tipo4ek
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
18.10.2010, 20:13  [ТС]
поэтому я и говорю , посоветуйте литературу , которая не тяжела для восприятия и популярно все объясняла .
0
 Аватар для yamilramilev
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
18.10.2010, 20:15
Цитата Сообщение от tipo4ek Посмотреть сообщение
которая не тяжела для восприятия и популярно все объясняла
рекурсия проще и яснее некуда
1
 Аватар для tipo4ek
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
18.10.2010, 20:26  [ТС]
ага .спасибо . а скажи , а вот рекурсия и цикл , они взаимозаменяемы и почему ?
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
18.10.2010, 20:33
tipo4ek, в принципе есть заменяемость, как я уже писал выше, любой цикл можно !легко! представить в виде рекурсии, но вот не всякую рекурсию можно так же легко представить циклом. Почему - вопрос посложнее, но я думаю со мной согласятся, что поскольку нужны эти две вещи дра разных целей (по структуре), но одного смылсла (перебора), именно поэтому они в принципе могут быть заменены друг другом.
В любом случае я считаю что познакомится с работой этих вещей хорошо моэно только на практике...
0
 Аватар для yamilramilev
267 / 258 / 47
Регистрация: 08.10.2009
Сообщений: 554
18.10.2010, 20:41
В принципе и любую рекурсию можно заменть циклом, но вот только нужно ли это? Ведь в некоторых случаях программа может возрасти в несколько раз. Проще будет записать рекурсией
0
 Аватар для tipo4ek
12 / 11 / 3
Регистрация: 12.10.2010
Сообщений: 268
18.10.2010, 21:05  [ТС]
а понял . а плюсы у цикла перед рекурсией какие ?

Добавлено через 20 минут
Цитата Сообщение от tipo4ek Посмотреть сообщение
а понял . а плюсы у цикла перед рекурсией какие ?
а еще скажите пожалуйста , а какие затраты ресурсов использует комп при написании проги циклом и рекурсией ?
0
 Аватар для Vas-e-na
420 / 417 / 79
Регистрация: 21.06.2010
Сообщений: 1,362
18.10.2010, 21:52
рекурсия есстесвено более ресурсоемкая, ибо стек он не бесконечен, поэтому мой совет: где можно заменить рекурсию на цикл (т.е. это не будет геморойно), заменяйте!
PS в этом отношении цикл лучше, но для решения рекурсивных задач нужна рекурсия, и никуда тут не дется...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.10.2010, 21:52
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Работа с объемным DOM в javascript
Htext 04.04.2025
Сегодня прочитал статью тут о расходах памяти в JS, ее утечках и т. п. И вот что вспомнил из своей недавней практики. Может, кому пригодится. Хотя, в той статье об этом тоже есть. Дело в том, что я. . .
Оптимизация производительности Node.js с помощью кластеризации
run.dev 04.04.2025
Масштабирование приложений для обработки тысяч и миллионов запросов — обыденная задача для многих команд. Node. js, благодаря своей асинхронной событийно-ориентированной архитектуре, стал популярной. . .
Управление зависимостями в Python с Poetry
py-thonny 04.04.2025
Стандартный инструмент для установки пакетов в Python - pip - прекрасно справляется с базовыми сценариями: установил пакет командой pip install и используешь его. Но что произойдёт, когда разные. . .
Мониторинг с Prometheus в PHP
Jason-Webb 04.04.2025
Prometheus выделяется среди других систем мониторинга своим подходом к сбору и хранению метрик. В отличие от New Relic, который использует агентный подход и отправляет данные во внешнее хранилище,. . .
Пакет Context в Golang: Управление потоками и ресурсами
golander 04.04.2025
Работа с горутинами в Go часто напоминает управление непослушными детьми - они разбегаются кто куда, делают что хотят и не всегда завершаются вовремя. К счастью, в Go 1. 7 появился пакет context,. . .
Контейнеризация React приложений с Docker
Reangularity 03.04.2025
Контейнеризация позволяет упаковать приложение со всеми его зависимостями в автономный контейнер, который можно запустить на любой платформе с установленным Docker. Это существенно упрощает процессы. . .
Свой попап в SwiftUI
mobDevWorks 03.04.2025
SwiftUI, как декларативный фреймворк от Apple, предоставляет множество инструментов для создания пользовательских интерфейсов. В нашем распоряжении есть такие API как alerts, popovers, action sheets. . .
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер