Алгоритми і структури даних
Те, що питають на співбесідах, і те, що відрізняє код, який працює, від коду, який працює швидко. З розбором задач.
📚 10 модулів📝 10 уроків⏱ 10 модулів
Програма курсу
Модуль 1. Складність: O-нотація на практиці1 ур.
- ▶Складність: O-нотація на практиціБезкоштовно
Модуль 2. Масиви, рядки, два вказівники1 ур.
- 🔒Масиви, рядки, два вказівники
Модуль 3. Хеш-таблиці1 ур.
- 🔒Хеш-таблиці
Модуль 4. Стек і черга1 ур.
- 🔒Стек і черга
Модуль 5. Зв'язані списки1 ур.
- 🔒Зв'язані списки
Модуль 6. Дерева й обходи1 ур.
- 🔒Дерева й обходи
Модуль 7. Купа та черга з пріоритетом1 ур.
- 🔒Купа та черга з пріоритетом
Модуль 8. Сортування й бінарний пошук1 ур.
- 🔒Сортування й бінарний пошук
Модуль 9. Графи: BFS, DFS, найкоротший шлях1 ур.
- 🔒Графи: BFS, DFS, найкоротший шлях
Модуль 10. Динамічне програмування й співбесіда1 ур.
- 🔒Динамічне програмування й співбесіда
Про курс
Про курс
Більшість програмістів пише робочий код без знання алгоритмів. Проблеми починаються там, де даних стає багато: те, що літало на сотні записів, лягає на мільйоні. Цей курс — про вміння бачити складність до того, як вона стане інцидентом, і про підготовку до технічної співбесіди.
Чого ви навчитеся
- O-нотація не як формула, а як інструмент оцінки
- Хеш-таблиці, стеки, черги, зв'язані списки
- Дерева, обходи, збалансовані структури
- Купа й черга з пріоритетом
- Сортування, бінарний пошук та його межі
- Графи: BFS, DFS, найкоротший шлях
- Динамічне програмування без магії
- Стратегія розв'язання задач на співбесіді
Для кого
Для тих, хто вже пише код і хоче писати його свідомо. Приклади мовою, близькою до псевдокоду — застосовні в Java, Python, C#, JS.
Вимоги
Впевнене володіння будь-якою мовою: цикли, функції, масиви, класи.