• Принцип работы FFT и Scala

    Разбор алгоритма быстрого преобразования фурье (он же Fast Fourier transform, он же FFT). Целью публикации является отобразить суть алгоритма, а не создание быстрой по скорости работы реализации. Т.к. в этой программе я буду интенсивно использовать объекты вместо примитивных типов, а также рекурсию, скорость работы будет заведомо уступать многим другим реализациям FFT, которые можно сейчас найти

    Читать далее…

  • printf

    Небольшой справочник «для себя» по работе с джавным printf(). Для простоты текста заменил System.out.printf() на printf(). Базовые конструкции. %s → String или toString(). printf(«Hello %s!», «World»); // «Hello World!» %n → Перенос строки. Byte, Short, Int, Long. %d → В десятеричном. %x → В шестнадцатеричном. %7d → В десятеричном. Минимальная ширина строки 7 знаков. printf(«%7d»,

    Читать далее…

  • Поиск. КМП-алгоритм

    Недавно на досуге решил написать алгоритм КМП  (Кнута — Морриса — Пратта) для Scala. Изначально, мне нужно было решить простенькую задачку — найти последовательность байт в потоке байтов. Сделал на Java. Потом, решил сделать тоже самое на Scala. Занятно, но в стандартной библиотеке коллекций Scala используется именно КМП поиск. Вот мой вариант.

    Читать далее…