https://github.com/everysoftware/algorithms-course
Well-structured notes on algorithms with solutions to problems from LeetCode, Stepik and other platforms.
https://github.com/everysoftware/algorithms-course
algorithms divide-and-conquer dynamic-programming graphs-algorithms greedy-algorithms prefix-sum sorting-algorithms two-pointers
Last synced: 8 months ago
JSON representation
Well-structured notes on algorithms with solutions to problems from LeetCode, Stepik and other platforms.
- Host: GitHub
- URL: https://github.com/everysoftware/algorithms-course
- Owner: everysoftware
- Created: 2023-03-22T17:24:32.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T19:35:43.000Z (about 1 year ago)
- Last Synced: 2024-10-29T21:39:12.882Z (about 1 year ago)
- Topics: algorithms, divide-and-conquer, dynamic-programming, graphs-algorithms, greedy-algorithms, prefix-sum, sorting-algorithms, two-pointers
- Language: Python
- Homepage:
- Size: 94.6 MB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Курс по алгоритмам
Курс по алгоритмам и структурам данных с разбором теории и решением задач.
## Основные фичи
- **10+** разобранных тем, к каждой теме легкий конспект
- **70+** практических задач с LeetCode, тренировок от Яндекса и реальных собеседований
- Решение **к каждой задаче** на лаконичном Python с комментариями
- **750+** автоматизированных тестов для проверки решений
## Структура курса
Темы курса разделены на 3 основные части:
* **Базовые алгоритмы**: основы алгоритмов и структур данных, которые нужны для решения самых простых задач.
* **Шаблоны решения**: это типичные подходы к решению задач, которые часто встречаются на собеседованиях.
* **Продвинутые подходы**: это более сложные алгоритмы и структуры данных, которые нужны для решения сложных задач.
Каждая тема содержит теорию, практические задачи и их решения.
| № | Тема | Секция | Папка |
|----|----------------------------------|---------------------|-------------------|
| 1 | Введение в алгоритмы | Базовые алгоритмы | `a_intro` |
| 2 | Базовые структуры данных | Базовые алгоритмы | `b_base_ds` |
| 3 | Поиски | Базовые алгоритмы | `c_search` |
| 4 | Сортировки | Базовые алгоритмы | `d_sorting` |
| 5 | Два указателя | Шаблоны решения | `e_two_pointers` |
| 6 | Сканирующая прямая | Шаблоны решения | `f_scanline` |
| 7 | Префиксные суммы | Шаблоны решения | `g_prefix_sums` |
| 8 | Теория чисел | Шаблоны решения | `h_number_theory` |
| 9 | Разделяй и властвуй | Продвинутые подходы | `i_dnc` |
| 10 | Жадные алгоритмы | Продвинутые подходы | `j_greedy` |
| 11 | Динамическое программирование | Продвинутые подходы | `k_dp` |
| 12 | 2D Динамическое программирование | Продвинутые подходы | `l_dp2` |
## Источники
* [LeetCode - The World's Leading Online Programming Learning Platform](https://leetcode.com/)
* [Алгоритмы: теория и практика. Методы - Stepik](https://stepik.org/course/217)
* [Алгоритмы: теория и практика. Структуры данных - Stepik](https://stepik.org/course/1547)
* [Тренировки по алгоритмам от Яндекса](https://yandex.ru/yaintern/algorithm-training_2)
* [AlekOS - YouTube](https://www.youtube.com/@AlekOS/videos)
**Made with ❤️**