Skip to content

Добро пожаловать в Algobook

Этот проект посвящён алгоритмам. За небольшим исключением, я не являюсь автором размещённых здесь материалов, однако стремлюсь собрать, переработать и отформатировать как можно больше информации из открытых источников, чтобы представить её в наиболее удобном виде.

Что вы найдёте здесь:

  • 📚 Подробные описания алгоритмов, разбитые по тематическим рубрикам
  • 💻 Тщательно задокументированные примеры кода на Python

⚠️ Весь представленный код — это учебные примеры, демонстрирующие ключевые идеи. Они не претендуют на production-качество.

Рубрикатор

1. Машинное обучение и рекомендательные системы

Какие алгоритмы: градиентный бустинг (XGBoost, CatBoost), нейросети (CNN, RNN, Transformer), кластеризация (K-means, DBSCAN), матричная факторизация, коллаборативная фильтрация.
Для чего: предсказания цен, классификация клиентов, персонализация товаров/контента, детекция аномалий, сегментация аудитории.

2. Аналитика данных и базы данных

Какие алгоритмы: индексы (B-Tree, LSM-деревья), хеширование, оконные функции, агрегации, OLAP-кубы, алгоритмы ETL-процессов.
Для чего: быстрые запросы к терабайтам данных, построение дашбордов, подготовка данных для ML, транзакционная обработка (ACID).

3. Робототехника и автономные системы

Какие алгоритмы: SLAM (одновременная локализация и картографирование), PID-регуляторы, планирование траекторий (A*, RRT), кинематика, фильтр Калмана.
Для чего: управление дронами/беспилотниками, заводские манипуляторы, дроны-курьеры, автопилоты.

4. IoT и сетевые технологии

Какие алгоритмы: маршрутизация (OSPF, BGP), управление очередями, протоколы MQTT/CoAP, сжатие телеметрии, алгоритмы синхронизации времени.
Для чего: умные дома, промышленный интернет вещей, мониторинг оборудования, передача данных с датчиков.

5. ГИС и картография

Какие алгоритмы: геоиндексы (Geohash, S2), алгоритмы поиска ближайших соседей (R-tree), построение изолиний, триангуляция Делоне, преобразования проекций.
Для чего: навигаторы, логистические карты, агротехника, мониторинг стихийных бедствий, экология.

6. Графовые модели и социальные сети

Какие алгоритмы: поиск в глубину/ширину, алгоритм Дейкстры, PageRank, алгоритмы выявления сообществ (Louvain), распространение влияния.
Для чего: рекомендации друзей, анализ связей в соцсетях, поиск уязвимостей в сетях, кластеризация связанных объектов.

7. Игровая разработка

Какие алгоритмы: деревья решений, поведенческие деревья (Behavior Trees), A* для поиска путей, алгоритмы процедурной генерации, физические движки (Ragdoll, столкновения).
Для чего: ИИ врагов, генерация миров, реалистичная физика, оптимизация рендеринга.

8. Оптимизация и планирование

Какие алгоритмы: задача коммивояжера, генетические алгоритмы, имитация отжига, линейное/целочисленное программирование, муравьиные алгоритмы.
Для чего: распределение ресурсов, планирование производства, маршрутизация транспорта, оптимизация гиперпараметров ML, снижение затрат.

9. Логистика и управление цепочками

Какие алгоритмы: алгоритмы управления запасами (EOQ), кластеризация складов, прогнозирование спроса (ARIMA, Prophet), динамическое ценообразование.
Для чего: оптимизация доставки, управление складом, прогнозирование закупок, минимизация простоев.

10. Научные вычисления и физическое моделирование

Какие алгоритмы: методы конечных элементов (FEM), дифференциальные уравнения (Рунге-Кутта), преобразование Фурье (FFT), Монте-Карло, матричные вычисления.
Для чего: расчеты конструкций, моделирование погоды, аэродинамика, квантовая химия, симуляция физических процессов.

11. Патерны проектирования

Какие алгоритмы: шаблоны проектирования (Observer, Factory, Strategy), архитектурные стили (микросервисы, событийная архитектура), алгоритмы кэширования (LRU, LFU).
Для чего: создание масштабируемого кода, управление потоками данных в системе, отказоустойчивость, снижение связанности модулей.

12. Биотехнологии и медицинская информатика

Какие алгоритмы: выравнивание последовательностей (BLAST), кластеризация геномов, обработка медицинских изображений (сегментация), анализ ЭКГ/ЭЭГ.
Для чего: диагностика заболеваний, расшифровка ДНК, поиск новых лекарств, мониторинг пациентов.

13. Торговля и коммерция

Какие алгоритмы: алгоритмы динамического ценообразования, управление рекламными показами (RTB), анализ корзины, детекция мошенничества (аномалии в платежах).
Для чего: маркетплейсы, интернет-магазины, рекламные сети, банковский скоринг.

14. Экономика и финансы

Какие алгоритмы: алгоритмы высокочастотной торговли (HFT), скоринг кредитного риска, портфельная оптимизация (Марковица), временные ряды (GARCH).
Для чего: трейдинг, кредитные решения, управление активами, страхование, макроэкономическое прогнозирование.

15. Обработка естественного языка

Какие алгоритмы: трансформеры (BERT, GPT), LSTM, токенизация, TF-IDF, word2vec, алгоритмы машинного перевода и суммаризации.
Для чего: чат-боты, поисковые движки, анализ тональности, контент-модерация, голосовые ассистенты.

Лицензия и контакты

Все материалы распространяются под свободной лицензией MIT. Если у вас возникнут вопросы, обращайтесь напрямую — мои контакты доступны ниже.

https://telegram.me/gorschal

MIT License

Copyright (c) 2025 Igor Gorschal

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.