An open API service indexing awesome lists of open source software.

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.

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 ❤️**