Алгоритмы и структуры данных [2020]
SkillFactory
Павел Труфанов, Дмитрий Никулин
Курс для разработчиков, готовых выйти на новый уровень в карьере за короткий срок.
1. Спотыкаетесь при решении хитрых алгоритмических задач на собеседованиях?
2. Сомневаетесь как достоверно посчитать временную сложность алгоритма?
3. Хотите браться за сложные проекты и находить элегантное решение?
Учим алгоритмам не для галочки, а чтобы показать как можно улучшить код и уверенно проходить собеседования.
Спойлер: Кому подойдет курс
1. Начинающим разработчикам для уверенного старта и прохождения технических собеседований.
2. Разработчикам, которые стремятся на уровень выше - на позиции Middle и Senior. Получите выгодное преимущество на фоне других кандидатов.
3. Тем, кто хочет браться за сложные проекты и работать в IT-гигантах, и пройти многоступенчатый жесткий отбор.
4. Тем, кто хочет участвовать в олимпиадном программировании, готов учиться новому и любознательность его второе имя.
Спойлер: Что вас ждет на курсе
1. Фундаментальная теоретическая база
Чтобы научиться писать собственные алгоритмы, нужно знать досконально как они работают.
2. Прокачаетесь в математике
Математика для программистов нужна в серьезных проектах и нетривиальных задачах.
3. Много практики и решения алгоритмических задач
Решаем упражнения и задачи различной сложности, в том числе олимпиадные и бизнес-задачи.
4. Подготовка к техническому собеседованию
Во время курса вы потренируетесь в решении реальных задач с технических собеседований.
Спойлер: После обучения на курсе вы
1. Узнаете почему разработчику важно разбираться в структурах данных и алгоритмах.
2. Научитесь воспроизводить с нуля любой алгоритм и писать собственные.
3. Поймете как увеличивать производительность кода благодаря пониманию временной сложности и затратам по памяти.
4. Сможете сравнивать структуры данных и выбирать оптимальный вариант для конкретной задачи.
5. Начнете уверенно себя чувствовать при прохождении технических собеседований в любые IT-компании мира.
Спойлер: Содержание
Блок 1 - Основной
1. Линейные структуры данных.
2. Рекурсия и комбинаторика.
3. Сортировки и поиск.
4. Хеширование.
5. Графы.
6. Деревья.
7. Динамическое программирование.
Блок 2- карьерный
Примечание: на момент создания темы точная цена курса не заявлена, только временная на время акции.
Продажник
SkillFactory
Павел Труфанов, Дмитрий Никулин
Курс для разработчиков, готовых выйти на новый уровень в карьере за короткий срок.
1. Спотыкаетесь при решении хитрых алгоритмических задач на собеседованиях?
2. Сомневаетесь как достоверно посчитать временную сложность алгоритма?
3. Хотите браться за сложные проекты и находить элегантное решение?
Учим алгоритмам не для галочки, а чтобы показать как можно улучшить код и уверенно проходить собеседования.
Спойлер: Кому подойдет курс
1. Начинающим разработчикам для уверенного старта и прохождения технических собеседований.
2. Разработчикам, которые стремятся на уровень выше - на позиции Middle и Senior. Получите выгодное преимущество на фоне других кандидатов.
3. Тем, кто хочет браться за сложные проекты и работать в IT-гигантах, и пройти многоступенчатый жесткий отбор.
4. Тем, кто хочет участвовать в олимпиадном программировании, готов учиться новому и любознательность его второе имя.
Спойлер: Что вас ждет на курсе
1. Фундаментальная теоретическая база
Чтобы научиться писать собственные алгоритмы, нужно знать досконально как они работают.
2. Прокачаетесь в математике
Математика для программистов нужна в серьезных проектах и нетривиальных задачах.
3. Много практики и решения алгоритмических задач
Решаем упражнения и задачи различной сложности, в том числе олимпиадные и бизнес-задачи.
4. Подготовка к техническому собеседованию
Во время курса вы потренируетесь в решении реальных задач с технических собеседований.
Спойлер: После обучения на курсе вы
1. Узнаете почему разработчику важно разбираться в структурах данных и алгоритмах.
2. Научитесь воспроизводить с нуля любой алгоритм и писать собственные.
3. Поймете как увеличивать производительность кода благодаря пониманию временной сложности и затратам по памяти.
4. Сможете сравнивать структуры данных и выбирать оптимальный вариант для конкретной задачи.
5. Начнете уверенно себя чувствовать при прохождении технических собеседований в любые IT-компании мира.
Спойлер: Содержание
Блок 1 - Основной
1. Линейные структуры данных.
- Введение в алгоритмы и структуры данных.
- Определение асимптотики, оценка времени работы программы, оценка затраченной памяти.
- Односвязные и двусвязные списки, работа с ними.
2. Рекурсия и комбинаторика.
- Рекурсивные переборы, переборы всех комбинаторных объектов.
- Перестановки, разбиение на слагаемые, строки Фибоначчи.
- Перебор битовых масок.
3. Сортировки и поиск.
- Сортировки, использование встроенной функции sort в языках.
- Алгоритм бинарного поиска. Бинарный поиск по ответу.
4. Хеширование.
- Принцип хеширования. Парадокс дней рождения. Известные алгоритмы хеширования. Полиномиальное хеширование.
- Алгоритмы на строках.
- Хеш-таблица, встроенная реализация, собственная реализация.
5. Графы.
- Графы. Представление графов и алгоритм DFS.
- Графы. Задача о поиске кратчайшего пути в графе, алгоритм BFS.
- Алгоритм Дейкстры.
6. Деревья.
- Графы. Представление деревьев. Алгоритмы на деревьях.
- Бинарное дерево поиска, работа с ним.
- AVL-дерево.
- Кучи. Деревья Хаффмана.
7. Динамическое программирование.
- Задачи динамического программирования. Базовые применения. Префиксные суммы.
- Задачи динамического программирования. Сложные задачи. Задача о рюкзаке.
- Конечные автоматы. Регулярные выражения.
Блок 2- карьерный
- Фишки прохождения технических собеседований в крупные IT-компании.
- Mock-интервью «Собеседование в Amazon».
Примечание: на момент создания темы точная цена курса не заявлена, только временная на время акции.
Продажник