#7. определяем пользовательскую joinToString

Приветствую читатель!

Здесь оставлю пример реализации пользовательской функции joinToString на Kotlin, написанную с использованием хвостовой рекурсии. Не претендую на лучшую реализацию, но как пример имеет место быть.

Читать далее #7. определяем пользовательскую joinToString

#5. мемоизированная реализация рекурсивного алгоритма Фибоначии.

Приветствую читатель!

Сегодня приведу пример мемоизированной реализации рекурсивного алгоритма Фибоначии. Мемоизация позволяет ускорить вычисления за счет того, что, не выполняет повторно вычисления для уже ранее вычисленных и сохраненных аргументов.

Читать далее #5. мемоизированная реализация рекурсивного алгоритма Фибоначии.

#4: пример каррированной функции на языке Kotlin.

Приветствую читатель!

Функцию от нескольких аргументов, где область значений является множеством функций называют каррированной, иными словами f(x)(y) – это каррированная форма функции f(x,y). Ее польза в том, что каррированную функцию можно применять частично: сначала для первого аргумента, вернув функцию, можно далее ее использовать и для второго.

Читать далее #4: пример каррированной функции на языке Kotlin.

#3: сорекурсивная реализация алгоритма Фибоначчи.

Приветствую читатель!

Сегодня оставлю здесь сорекурсивную реализацию алгоритма Фибоначчи на Kotlin. Обратите внимание на ключевое слово tailrec. Позволяет задействовать механизм оптимизации для хвостовой рекурсии. Под оптимизацией понимается условное представление функции плоским циклом.

Читать далее #3: сорекурсивная реализация алгоритма Фибоначчи.