Запитання з тегом «recursion»

Для запитань щодо рекурсії, практики виклику методу чи функції зсередини.

3
Скільки занадто багато вкладених функцій викликів?
Цитується з MSDN про StackOverflowException : Виняток, який видається, коли стек виконання переповнюється, оскільки він містить занадто багато вкладених викликів методу. Too manyтут досить розпливчасто. Як я знаю, коли занадто багато справді занадто багато? Тисячі викликів функцій? Мільйони? Я припускаю, що це має бути певним чином пов'язане з кількістю пам'яті …

6
Як визначити час виконання подвійної рекурсивної функції?
З огляду на будь-яку довільно подвійну рекурсивну функцію, як можна обчислити її час виконання? Наприклад (у псевдокоді): int a(int x){ if (x < = 0) return 1010; else return b(x-1) + a(x-1); } int b(int y){ if (y <= -5) return -2; else return b(a(y-1)); } Або щось у цьому …

4
Коли немає TCO, коли турбуватися про видув стека?
Кожен раз, коли виникає дискусія про нову мову програмування, спрямовану на JVM, неминуче люди говорять такі речі, як: "JVM не підтримує оптимізацію зворотного виклику, тому я прогнозую багато вибухаючих стеків" На цю тему є тисячі варіацій. Тепер я знаю, що деякі мови, як, наприклад, Clojure, мають особливу конструкцію повторень, яку …

2
Причина повернення заяви в рекурсивному виклику функції
Я просто мав сумніви у своєму розумі. Наступна підпрограма (для пошуку елемента, наприклад, у списку) має в кінці висновок: list *search_list(list *l, item_type x) { if (l == NULL) return(NULL); if (l->item == x) return(l); else return( search_list(l->next, x) ); } Я не можу отримати значення оператора return в кінці …

9
Ресурси для покращення вашого розуміння рекурсії? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

2
Чи може хтось пояснити концепцію, що стоїть у пам'яті Хаскелл?
(зауважте, я ставлю питання тут, оскільки це стосується концептуальної механіки цього, а не проблеми кодування) Я працював над невеликою програмою, яка використовувала послідовність цифр розрядів у своєму зрівнянні, але я помітила, що якщо я пережила певну кількість, вона стає болісно повільною, гуляючи трохи, натрапила на техніку в Haskell, відому як …

7
Чи може рекурсивна функція мати ітерації / петлі?
Я вивчав рекурсивні функції, і, мабуть, це функції, які називають себе, і не використовують ітерації / цикли (інакше це не буде рекурсивною функцією). Однак, переглядаючи приклади в Інтернеті (8-королева-рекурсивна проблема), я знайшов цю функцію: private boolean placeQueen(int rows, int queens, int n) { boolean result = false; if (row < …
12 java  recursion 

2
Розуміння зворотного відстеження в C ++
Я добре розумію основи С ++, я також розумію, як працює і рекурсія. Я зіткнувся з певними проблемами, такими як класична проблема восьми цариць і вирішення судоку з Backtracking. Я усвідомлюю, що я сильно розгубився, коли справа доходить до цього, я, здається, не зможу зрозуміти концепцію повернутися в стек рекурсії …
12 c++  recursion 

7
Рекурсія - це "розділити і перемогти" або "повторне використання коду"
Рекурсія - як ми всі знаємо - одна з тих проблем - те, що обернути голову, відчуває, як досягти "рубіж" у вашому плановому плаванні. Але коли мова йде про фактичне використання його в проблемах реального світу - знання механіки рекурсії НЕ достатньо - треба також зрозуміти природу проблем, де рекурсія …
11 recursion 

3
Чому ітеративна версія займає більше часу?
Я переглянув http://programming.lispdream.com/blog/2011/06/recursion-vs-iteration/ і побачив, що на його реалізацію рекурсивної та ітеративної реалізації факторної функції ітерація насправді займає більше часу задано n = 1000. Я не можу зрозуміти, чому (він не пояснює, але каже, що це вправа для читача). Вибачте за мою новизну у всьому цьому.

4
Які міркування можна визначити, чи можна використовувати рекурсію для вирішення проблеми?
Іноді в інтерв'ю я можу використовувати рекурсію для вирішення проблеми (наприклад, додавання 1до нескінченного цілого числа) або коли проблема виявляється придатною для використання рекурсії. Іноді це може бути просто завдяки використанню рекурсії для вирішення проблеми, тому, не задумуючись, для вирішення проблеми використовується рекурсія. Однак які міркування перш ніж ви зможете …

3
Алгоритм для генерації всіх множин m точок у nxnxn кубічної решітки, які є унікальними за симетрією
Я реалізую алгоритм, який буде досить обчислювально складним, і хочу спробувати переконатися, що я не виконую зайвих робіт. Існує nxnxn кубічна решітка, наприклад, якщо n = 2 це складається з (0,0,0), (0,1,0), (1,0,0), (1,1,0), (0, 1,1), (0,0,1), (1,0,1), (1,1,1). З цієї решітки я буду рекурсивно генерувати всі множини m точок, …

5
Чи можна всі рекурсивні функції кодувати ітераціями? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 6 років тому . Які переваги рекурсії? Деякі мови програмування можуть оптимізувати хвостову рекурсію, але, загалом кажучи, рекурсія …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.