Тёмный

Рекурсия: косвенная и хвостовая, стек, выход 

Timur Shemsedinov
Подписаться 44 тыс.
Просмотров 11 тыс.
50% 1

Примеры кода: github.com/HowProgrammingWork...
Курс «100 лекций по программированию» habr.com/post/427799/
#javascript #рекурсия #стек #хвостовая #лекции #js #косвенная

Опубликовано:

 

18 фев 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 24   
@TimurSevimli
@TimurSevimli Год назад
Спасибо вам Тимур Гафарович, лекция было очень полезная!
@anatolykobzisty9827
@anatolykobzisty9827 4 года назад
00:00 Рекурсивная функция для вычисления глубины стека 03:25 Неявная рекурсия 04:52 Рекурсивная функция для вычисления степени числа 06:12 Рекурсивная функция для вычисления факториала 06:29 Рекурсивная функция для вычисления числа Фибоначчи 09:27 Рекурсивная функция, как аналог функции reduce 12:04 Оптимизация хвостовой рекурсии 15:41 Оптимизация обычной рекурсивной функции
@DimitarRad
@DimitarRad 2 года назад
Спасибо. Надеюсь, дальше по курсу будет больше пример с рекурсией, а то этими фибиначи весь интернет забил. Хотелось бы что-то из реальный случаев.
@dmitrijponkin
@dmitrijponkin 5 лет назад
Спасибо Вам!!!
@TimaGixe
@TimaGixe Год назад
Чудова лекція, дякую!
@sevgenberg585
@sevgenberg585 5 лет назад
Супер!Можно еще организовать одну лекцию по сетевым протоколам?
@vitaliikukhar4864
@vitaliikukhar4864 5 лет назад
Для того чтобы понять рекурсию, надо сначала понять рекурсию :-)
@sevgenberg585
@sevgenberg585 5 лет назад
рекурсия она конечно запутанная вещь, почему рекурсия медленнее цикла?Может кто то знает?Объясните пожалуйста...
@gravityarm9240
@gravityarm9240 5 лет назад
@@sevgenberg585 chrome dev tools подивись там все ясно
@RisDeep
@RisDeep 4 года назад
@@sevgenberg585 замыкание
@vladyslavkarpenko9372
@vladyslavkarpenko9372 Год назад
​@@sevgenberg585 Кожен виклик функції у виконання відбувається на наступному колі event loop. Тобто між викликами можуть асинхронно виконуватись callback таймерів, проміси та інше асинхронне. Причому це не стабільно, бо асинхронний код може бути присутнім, а може й ні. Тобто примітивне випробування може демонструвати малу різницю, а в дійсно робочому коді буде інша ситуація. Цикл виконується синхронно на одній ітерації event loop, тож ніхто не може "перервати" і очікуваний час виконання стає більш передбачуваний. Разом з тим існує зворотнє завдання: допустима повільніша рекурсія, але критично важливо віддавати кванти часу процессора на асинхронне виконання. В такому разі можна казати про ще один умовний вид - "сповільнена рекурсія". Це коли кожен наступний рекурсивний виклик виконується через відкладене планування з певним таймером (setTimeout, nextTick etc).
@sevgenberg585
@sevgenberg585 Год назад
@@vladyslavkarpenko9372 Maybe I need to specify: У меня есть рекурсивный список элементов с неизвестной глубиной.Каждый элемент имеет активное свойство. Я хочу создать метод, который возвращает true, когда активное свойство любых дочерних элементов или дочерних элементов элемента истинно. ChildStack можно использовать как замену рекурсии?
@TheTexPro
@TheTexPro 2 года назад
Спасибо большое!
@antonanton22743
@antonanton22743 5 лет назад
Спасибо !
@jamjam3337
@jamjam3337 Год назад
👏👍
@NVsquare
@NVsquare 5 лет назад
💻💻💻😍😍😍😍
@user-tm5ow3et4l
@user-tm5ow3et4l 5 лет назад
@TimurSevimli
@TimurSevimli Год назад
Не полностью разобрался что происходит в примерах функции fibonacci и fibonacci1. Что там суммируется и каком образом конечное получаемое значение это число, если функция возвращает само себя а не какое то там число? Там единственный число это аргументы, потому думаю что суммируются аргументы. А где они тогда сохраняются и передаются для следующего вызова ? А еще интересно то, что каким образом возвращается суммированное значение например как 377, если у нас только 1 условии с двумя вариантами (возвращать 1 или рекурсивно вызывать) которых не какой из них не говорить о том что надо вернуть все суммирование значение. На счет рекурсии и его смысл понятен, а на счет логику работы этих функции не могу полностью усвоить.
@antonyanovskyi6762
@antonyanovskyi6762 2 года назад
Хорошо конечно. Но вот примеров для работы с объектами не хватает
@TimurShemsedinov
@TimurShemsedinov 2 года назад
Непонятно, при чем тут объекты?
@SM-xp8tw
@SM-xp8tw Год назад
Никогда не понимал, почему опытные программисты, как правило из СНГ, часто бывают безграмотны в Английском языке ?)) ну что за ретурн?)) неужели так сложно подучить язык чтобы не каверкать его подобным произношением ))
@TimurShemsedinov
@TimurShemsedinov Год назад
Это не английский язык, это программистский сленг, я на английском лекции читаю, вообще-то
@Antonio-fm1sq
@Antonio-fm1sq 2 года назад
Спасибо!
Далее
когда повзрослела // EVA mash
00:40
Просмотров 1,3 млн
Tail Recursion Explained - Computerphile
16:05
Просмотров 169 тыс.
Рекурсия. Репка и матрёшка
18:37
Просмотров 116 тыс.
когда повзрослела // EVA mash
00:40
Просмотров 1,3 млн