Что такое хвостовая рекурсия? Душкин объяснит

  Рет қаралды 2,761

Dushkin will explain

Dushkin will explain

Күн бұрын

Пікірлер: 23
@ИльяПавлов-ч5ы
@ИльяПавлов-ч5ы 2 жыл бұрын
какой красивый почерк! божечкии
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Был бы ещё красивее, если бы я не спешил.
@alexanderskusnov5119
@alexanderskusnov5119 2 жыл бұрын
length это не хвостовая рекурсия, т.к. последняя операция не вызов функции length, а сложение То же самое и про map: последняя операция это (:), а не вызов map.
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Ну они всё равно похожи на хвостовую и могут вычисляться в постоянном объёме памяти же.
@kkambucha
@kkambucha 2 жыл бұрын
Спасибо! Интересно. А в clojure списки тоже с рекурсией?
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Должны быть. Но я не знаю.
@kkambucha
@kkambucha 2 жыл бұрын
божечки, я в результате копаний с рекурсией пришел к теме эволюции и бифуркационных диаграмм :)
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Это же очень круто! Поздравляю :) Обратите внимание на мои видео по биотехнологиям. Ну и генетические алгоритмы я тоже уже рассмотрел.
@MechanicalFreaks
@MechanicalFreaks 2 жыл бұрын
Мне казалось хвостовая рекурсия должна быть что-то вроде: ``` length a = go a 0 where go [] x = x go (_:as) x = go as (x+1) ```
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Да, всё так. Это классический вариант - аккумулятор. В следующем своём видео я про это рассказываю.
@MechanicalFreaks
@MechanicalFreaks 2 жыл бұрын
@@dushkin_will_explain да, посмотрел) Конечно, как мне кажется, спорное решение подавать сначала нехвостовую рекурсию как хвостовую в видео про "хвостовую рекурсию", а после, в другом видео про аккумулятор, сделать оговорку на настоящесть
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
@@MechanicalFreaks, увы, это издержки производства.
@MechanicalFreaks
@MechanicalFreaks 2 жыл бұрын
@@dushkin_will_explain понятно, но всё равно - Вы молодец)
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
@@MechanicalFreaks, благодарю. Стараюсь просвещать наших людей в силу своих сил и способностей.
@alexanderskusnov5119
@alexanderskusnov5119 2 жыл бұрын
Для образца _ фраза "всё, что угодно" подходит и для образца х (переменная). Правильная фраза: "связывания с образцом (то бишь с переменной х) не происходит".
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Да, точно. Там ещё значение _|_ по-разному обрабатывается, с очевидностью.
@alexanderskusnov5119
@alexanderskusnov5119 2 жыл бұрын
Ещё одна оптимизация это build-foldr в цепочке вычислений: там списки вообще не строятся.
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Благодарю за важное дополнение.
@alexanderskusnov5119
@alexanderskusnov5119 2 жыл бұрын
Надо было добавить, что компилятор для оптимизации хвостовую рекурсию заменяет циклом (уже на языке C--)
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Да, не всё помнишь во время записи.
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
Все видео по функциональному программированию в одном плейлисте: kzbin.info/www/bejne/mIGmc5Vnipppr9k И вы всегда можете обратиться к нам за консультациями.
@dushkin_will_explain
@dushkin_will_explain 2 жыл бұрын
А ещё вы можете написать мне в ТГ: @rdushkin
Что такое рекурсия. Фундаментальный JavaScript
20:32
Михаил Непомнящий
Рет қаралды 24 М.
How many people are in the changing room? #devil #lilith #funny #shorts
00:39
كم بصير عمركم عام ٢٠٢٥😍 #shorts #hasanandnour
00:27
hasan and nour shorts
Рет қаралды 11 МЛН
Кто круче, как думаешь?
00:44
МЯТНАЯ ФАНТА
Рет қаралды 6 МЛН
Smart Sigma Kid #funny #sigma
00:33
CRAZY GREAPA
Рет қаралды 22 МЛН
Tail Recursion Explained - Computerphile
16:05
Computerphile
Рет қаралды 175 М.
Что такое рекурсивные функции? Душкин объяснит
20:45
Душкин объяснит
Рет қаралды 2,7 М.
Владимир Парфиненко - Как поймать рекурсию за хвост
59:26
JPoint, Joker и JUG ru — Java-конференции
Рет қаралды 1,8 М.
Программирование на Python - 18 - Рекурсия
24:22
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,4 МЛН
How many people are in the changing room? #devil #lilith #funny #shorts
00:39