Если вы занимаетесь подготовкой к техническим интервью или просто хотите глубже разобраться в структурах данных, этот репозиторий — отличная находка.
Автор собрал ключевые алгоритмы и оформил их максимально чисто: с аннотациями типов, подробными docstrings и оценкой сложности прямо в коде.
Примеры того, что есть «под капотом»:
1. Графы и поиск путей:
Реализованы основные алгоритмы: от поиска в ширину (BFS) до алгоритмов Дейкстры и Беллмана-Форда.
from algorithms.graph import dijkstra
graph = {
"s": {"a": 2, "b": 1},
"a": {"c": 8},
"b": {"d": 2},
"c": {"t": 4},
"d": {"c": 11, "t": 5},
"t": {},
}
print(dijkstra(graph, "s", "t")) # (8, ['s', 'b', 'd', 't'])
2. Динамическое программирование:
Например, классическая задача о размене монет или нахождении подпоследовательностей.
3. Структуры данных:
Binary Heap (двоичная куча), Trie (префиксное дерево), BST (бинарное дерево поиска).
Как попробовать:
Устанавливается стандартно через pip:
pip install algorithms
🔗 Github
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека питониста
#буст
