В этом репозитории приведены наиболее распространенные алгоритмы, структуры данных и паттерны проектирования, написанные на языке программирования Kotlin.
Весь код разбит по отдельным пакетам:
ru.sorting
- алгоритмы сортировкиru.search
- алгоритмы поискаru.structures
- структуры данных (списки, массивы, стэк, очередь, бинарное дерево и др.)design-patterns
- паттерны проектированияru.other
- другие алгоритмы (расстояние Левенштейна, алгоритм Кнута Морриса Пратта и т.д.)
Для каждого файла с кодом сделаны тесты, которые находятся в директории test/kotlin
Также по возможности я добавляю javadoc для каждого класса, метода и файла
Структура:
-
пакет
ru.design_patterns
- паттерны проектирования -
пакет
ru.structures
- структуры данных -
пакет
ru.sorting
- алгоритмы сортировки -
пакет
ru.search
- алгоритмы поиска -
пакет
ru.other
- другие алгоритмы- Факториал числа
- Алгоритм Кнута Морриса Пратта для поиска подстроки
- Расстояние Левенштейна
- Палиндром
- Алгоритм Эвклида
- FizzBuzz
- Алгоритм переворота массива
- Решето Эратосфена
- Поиск минимума
- Поиск максимума
- Квадратный корень из числа
- Конечный автомат
- Проверка скобок на корректность
- Сравнение строк с помощью хэша
Если вы заинтересовались моим репозиторием или у вас появились идеи как его улучшить или что-то добавить, то сообщите мне об этом в телеграме: