Голосов: 0
#1
Алгоритмы и структуры данных [2021]
robot dreams
Мария Скрягина
Находите наиболее эффективные решения для повышения производительности кода.
Оперативно найти и выгрузить необходимую информацию, сжать данные без потерь или работать с высоконагруженными системами разработчику помогают алгоритмы, то есть уже готовые последовательности операций. Как применять алгоритмы и находить концептуально правильные решения ― узнайте на курсе.1. Junior Web/Software Developers
2. Web/Software Developers
- Вы будете тратить ≈10 часов в неделю на самостоятельную практику и решать сложные задачи с использованием 5 основных видов алгоритмов.
- Научитесь одинаково эффективно работать с рекурсией и пузырьковой сортировкой и сможете выбирать наиболее эффективный алгоритм под свои задачи.
- В результате ― заложите фундамент алгоритмического мышления и сможете пройти problem solving interview на позицию Junior Web/Software Developer в большой международной корпорации
- За 9 недель вы решите большое количество задач разными методами и научитесь оптимизировать существующие алгоритмы под свои рабочие задачи.
- Вас ждет объемная и сложная самостоятельная практика, но в результате ― вы получите фундаментальные знания по программированию и закроете пробелы в знаниях.
- С навыками, приобретенными на курсе, вы сможете претендовать на должность Web/Software Developer в международной корпорации и будете изобретать эффективные решения тогда, когда другие специалисты тратят несколько часов, чтобы нагуглить готовый код.
1. Работать с разными структурами данных
2. Реализовывать классические алгоритмы и выбирать алгоритм исходя из задачи
3. Изобретать новые решения и писать собственные алгоритмы
4. Находить данные в отсортированном массиве и решать задачи балансировки дерева
5. Строить хэш-таблицы, жадные алгоритмы и алгоритмы на строках
6. Оценивать программный код и находить способы его оптимизации
7. Применять алгоритмы для динамического программирования
8. Устроиться на работу в компанию, которая фокусируется на problem solving interviewМодуль 1 - Введение в алгоритмы и структуры данных
Модуль 2 - Массивы как структура данных
- Разберитесь в том, что такое алгоритмы и структуры данных.
- Узнайте, в каких сферах используют алгоритмы и какие задачи они решают.
- На реальных примерах из жизни и технических примерах из практики лектора научитесь определять сложность алгоритмов.
Модуль 3 - Рекурсия
- Научитесь обрабатывать массивы и выполнять простые операции над ними [доступ, поиск, вставка, удаление].
- Разберите несколько разных задач по работе с массивами.
- Научитесь определять временную сложность и сложность по памяти массивов.
Модуль 4 - Связный список
- Узнайте, когда и зачем применять рекурсию.
- Разберите типичные рекурсивные задачи и научитесь реализовывать алгоритмы с применением рекурсии.
- Рассчитайте n-й элемент для последовательности Фибоначчи с помощью рекурсии.
Модуль 5 - Стеки и очереди
- Научитесь проводить разные операции над связными списками.
- Разберите и решите типичные задачи на связные списки.
- Осуществите операции над связными списками и удалите дубликаты из связного списка.
Модуль 6 - Алгоритмы по поиску и сортировке
- Узнайте, чем стек отличается от очереди.
- Разберите типичные задачи по стекам и очередям.
- Научитесь преобразовывать стеки в очереди и наоборот.
- Определите временную сложность и сложность по памяти стеков и очередей.
Модуль 7 - Алгоритмы по сортировке. Part 1
- Разберитесь в видах алгоритмов по поиску и сортировке.
- Узнайте, что такое бинарный поиск и научитесь реализовывать задачи по применению бинарного алгоритма.
Модуль 8 - Алгоритмы по сортировке. Part 2
- Ознакомьтесь с пузырьковой сортировкой, сортировкой вставками и сортировкой выбором.
- Примените эти алгоритмы на практике и решите по ним задачи.
- Научитесь сортировать массивы данных.
Модуль 9 - Деревья
- Реализуйте сортировку слиянием и быструю сортировку.
- Научитесь выбирать вид алгоритма под конкретную задачу и находить наиболее оптимальный способ решения.
Модуль 10 - Бинарные деревья поиска
- Узнайте, как структура данных «дерево» помогает хранить иерархическую информацию.
- Разберитесь в видах древовидных структур данных.
- Поймите, чем бинарное дерево отличается от дерева общего вида.
- Научитесь находить общего предка, определять диаметр дерева и связи между узлами.
Модуль 11 - Графы
- Детально изучите структуру бинарных деревьев поиска.
- Научитесь реализовывать поиск в ширину (BFS) и поиск в глубину (DFS).
- Напишите алгоритм нахождения k-го элемента в массиве.
- Узнайте, какие подходы можно применить для решения типичных задач по бинарным деревьям поиска.
Модуль 12 - Хеш-функции
- Узнайте, какие бывают графы.
- Научитесь реализовывать матрицу смежности и основные алгоритмы обхода.
- Научитесь находить минимальное остовное дерево в неориентированном нагруженном графе.
- Реализуйте задачи по изученным методам разработки алгоритмов, например, определите количество одноцикловых компонентов на графике.
Модуль 13 - Хеш-таблицы
- Узнайте, для каких задач применяют хеш-функции и разберите реальные кейсы.
- Решите задачу с применением хеш-функции.
Модуль 14 - Динамическое программирование [лекция]
- Изучите структуру данных хеш-таблицы.
- Научитесь реализовывать схему для нахождения коллизий и предотвращения коллизий в хеш-таблицах и структурах данных.
- Проверьте, является ли один массив частью другого, и найдите первое повторение элемента массива.
Модуль 15 - Динамическое программирование [практика]
- Разберитесь в понятиях: динамический массив, двоичная куча и пирамидальная сортировка.
- Разберите на примерах одномерные и двумерные задачи динамического программирования.
Модуль 16 - Жадные алгоритмы
- Узнайте, в чем суть динамического программирования и отличия этого метода разработки алгоритмов от остальных.
- Научитесь решать задачи методом динамического программирования по подотрезкам и динамического программирования по подмножествам.
- Разберитесь в алгоритмах кеширования.
- Научитесь оптимизировать алгоритмы.
- Узнайте, для чего применяют жадные алгоритмы.
- Научитесь оптимизировать алгоритмы по графам.
- Подберите лучший алгоритм для предложенной задачи, самостоятельно решите задачу, затем аргументируйте свой выбор и решение перед лектором.
Примечание: на момент создания темы актуальная цена не известна.
Для просмотра содержимого вам необходимо зарегистрироваться!Для просмотра содержимого вам необходимо зарегистрироваться!
Последнее редактирование модератором:
- Статус
- В этой теме нельзя размещать новые ответы.