00:00 Рекурсивная функция для вычисления глубины стека 03:25 Неявная рекурсия 04:52 Рекурсивная функция для вычисления степени числа 06:12 Рекурсивная функция для вычисления факториала 06:29 Рекурсивная функция для вычисления числа Фибоначчи 09:27 Рекурсивная функция, как аналог функции reduce 12:04 Оптимизация хвостовой рекурсии 15:41 Оптимизация обычной рекурсивной функции
@@sevgenberg585 Кожен виклик функції у виконання відбувається на наступному колі event loop. Тобто між викликами можуть асинхронно виконуватись callback таймерів, проміси та інше асинхронне. Причому це не стабільно, бо асинхронний код може бути присутнім, а може й ні. Тобто примітивне випробування може демонструвати малу різницю, а в дійсно робочому коді буде інша ситуація. Цикл виконується синхронно на одній ітерації event loop, тож ніхто не може "перервати" і очікуваний час виконання стає більш передбачуваний. Разом з тим існує зворотнє завдання: допустима повільніша рекурсія, але критично важливо віддавати кванти часу процессора на асинхронне виконання. В такому разі можна казати про ще один умовний вид - "сповільнена рекурсія". Це коли кожен наступний рекурсивний виклик виконується через відкладене планування з певним таймером (setTimeout, nextTick etc).
@@vladyslavkarpenko9372 Maybe I need to specify: У меня есть рекурсивный список элементов с неизвестной глубиной.Каждый элемент имеет активное свойство. Я хочу создать метод, который возвращает true, когда активное свойство любых дочерних элементов или дочерних элементов элемента истинно. ChildStack можно использовать как замену рекурсии?
Не полностью разобрался что происходит в примерах функции fibonacci и fibonacci1. Что там суммируется и каком образом конечное получаемое значение это число, если функция возвращает само себя а не какое то там число? Там единственный число это аргументы, потому думаю что суммируются аргументы. А где они тогда сохраняются и передаются для следующего вызова ? А еще интересно то, что каким образом возвращается суммированное значение например как 377, если у нас только 1 условии с двумя вариантами (возвращать 1 или рекурсивно вызывать) которых не какой из них не говорить о том что надо вернуть все суммирование значение. На счет рекурсии и его смысл понятен, а на счет логику работы этих функции не могу полностью усвоить.
Никогда не понимал, почему опытные программисты, как правило из СНГ, часто бывают безграмотны в Английском языке ?)) ну что за ретурн?)) неужели так сложно подучить язык чтобы не каверкать его подобным произношением ))