![]() |
Как вы относитесь к рекурсии ?
Привет !
Рекурсия плохо ! НО я частенько пренебрегаю всеобщим ( !? ) мнением и вставляю местами из недостатков вижу: - плохая читабельность кода - сложно искать баги НО, если кусок отлажен и четко работает - почему нет ? или все же лучше стараться раскрывать их ? вобще много ли в ваших проектах ( или проЭктах ) мест, где вы используете рекурсию и какие в связи с этим у вас были проблемы ? как заказчики относятся к рекурсии в коде ? |
У стека вызовов есть ограничение на 255 вызовов. Если алгоритм можно сделать итеративным - лучше сделать им. Но если рекурсия неглубокая (ну там 10 раз) - почему нет?
А откуда Вы взяли что рекурсия это плохо? |
я хорошо отношусь.
|
Странно как то... это все равно что спрашивать как вы относитесь к инструкции "if"? Ну или вообще к ветвлению программы?
|
Рекурсия - это основа функциональных языков (лямбды и всё такое).
Рекурсия - это гениально. Вот пример красивой рекурсии: Код AS3:
кстати почитайте весь топик полностью. рекурсию очень часто использую при: - обходе xml - поиске пути - расчёт оптимальных коэц.факторов (по сути поиск пути) |
Котяра, i++;
В некоторых областях без рекурсии никуда! |
К рекурсии отношусь как к рекурсии!
|
|
Цитата:
Вот мне и стало интересно, а как флешеры относятся к оной ) Ветвления в шейдере тоже плохо, но, конечно же, иногда необходимо ... особенно в пиксельном toPsycho Tiger, выше ответил |
Рекурсию применяю очень редко, отношусь негативно =) Но иногда (обход произвольного дерева) иначе никак
|
Код:
коктейль "рекурсия" |
drnet_ua, у вас сходящийся ряд, который проще обсчитать по мат формуле, чем тратить ЦПУ
|
terbooter у вас сильно серьезное отношение к моему посту, это шутка была
(как бы Ахилес никогда не догонит черепаху) Рекурсия это есть очень мощьное средство, при не правильном или не умелом применении очень опасно. |
Цитата:
Если вы рассматриваете её применение в определенном контексте, то из вашего сообщения, открывшего тему, этого, определенно, сказать нельзя. |
Цитата:
http://savepic.ru/1984449.png |
Расскажите тогда пожалуйста в чем сложность поисков багов или в чем ниже читабельность? Большинство итеративных алгоритмов куда сложнее для понимания, чем их рекурсивные аналоги.
|
У меня была ситуация, когда кроме рекурсии вообще ничего сделать было нельзя. Правда она получилась куда читабельнее, чем попытка итеративного аналога. А по скорости работы получилась чуть ли не быстрее =) Так что я за рекурсии там, где это необходимо.
|
По-моему тоже нормальное применение рекурсии делает код читабельнее уж точно, а с ошибками как и раньше (их разве что меньше, т.к. кода меньше).
Всегда можно сделать без рекурсии, раскрытие рекурсии гуглите, кто не знает, как. Макс. глубину вызовов можно во флексе поставить опцией max-recursion-depth, там больше 255 точно можно) |
| Часовой пояс GMT +4, время: 18:48. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.