Построение и оптимизация алгоритмов (ЛЭТИ 2024) / Construction and optimization of algorithms (ETU 2024)
Сборник скриптов по разным задачам с контрольных от разных людей.
Внимание! Некоторые скрипты по-полной используют юникод для более подробного и понятного вывода! Из библиотек пока используются только базовые типа numpy
Тестбенчи, если нужны, закидывайте в папку tests
Прямо по этим заданиям есть еще тематический сайт https://tinsed.github.io/index.html (в нем не все, тк программа обучения меняется, но многое)
В скриптах есть:
- Деление
- Рачинский-1
- Рачниский-2
- Рачинский-3
- Метод Паскаля
- Лукас
- Альт умножение
- Методическое умножение/подвижного метода
- Сокращенное умножение
- Русское умножение
- Карацубы (сложность алгоритма это переменная mul_count)
- Умножение матриц
- Умножение Штрассена v1 (рекурсия даже для матриц 2х2, те за 7 умножений)
- Умножение Штрассена v2 (матрицы 2х2 считаются классическим методом за 8 умножений)
- Версии выдают разные результаты для кол-ва элементарных умножений, и это нормально
- Определитель
- Метод Доджсона (при проблемах можно вручную переставить столбцы или строки (тогда в конце поменяется знак определителя) или сложить их, чтобы вообще не осталось 0)
- Метод Чио при k=1
- Обобщнный метод конденсации Чио
- Определение кода варианта по фамилии имени (кажется кодификатор от года к году меняется, не забудьте ремапнуть словарь в начале под себя)
- Задача 1
- Визуализатор решения. Выхлоп полностью кидать в любой редактор графов mermaid
- Простой чекер
- Жадные алгоритмы для рюкзака
- Остальное есть в https://tinsed.github.io/index.html