Алгоритмы и структуры данных [2022]
proglib.academy
Степан Мацкевич
Знание алгоритмов и структур данных поможет пройти техническое собеседование любой сложности при устройстве на работу, а также перейти на позиции уровня middle и выше.
1. Погрузитесь в теорию структур данных и научитесь решать сложные алгоритмические задачи.
2. Научитесь применять алгоритмы и структуры данных при разработке программ.
3. Сможете браться за сложные проекты и повышать чек за свою работу.
Кому подходит курс:
1. Junior-разработчикам и недоджунам
1. Знаете один из объектно-ориентированных языков программирования (Python, Java, PHP, C++, JavaScript, C#).
2. Этот курс подойдет вам, если Вы отлично разбираетесь в базовой математике.
Почему алгоритмы:
1. Польза
Программист должен понимать принцип работы алгоритмов и уметь использовать в своих программах.
2. Удобство
Показывают важные приемы алгоритмического подхода, которые применяются в других задачах.
3. Опыт
Изучаются в университетском курсе на IT-специальностях, и часто встречаются на технических собеседованиях.
После курса вы:
1. Станете понимать фундаментальные структуры данных;
2. Разберетесь в составе стандартных библиотек языков программирования;
3. Получите практический опыт решения сложных алгоритмических задач;
4. Разберетесь в структурах данных;
5. Сможете применять изученные языки при разработке программ;
6. Сможете легко пройти техническое собеседование.
Спойлер: Содержание
Блок 1 - Базовый
Модуль 1 - Введение. Производительность алгоритмов
Блок 2 - Продвинутый
Модуль 16 - Сортировки
Примечание: тариф Полный
Продажник
proglib.academy
Степан Мацкевич
Знание алгоритмов и структур данных поможет пройти техническое собеседование любой сложности при устройстве на работу, а также перейти на позиции уровня middle и выше.
1. Погрузитесь в теорию структур данных и научитесь решать сложные алгоритмические задачи.
2. Научитесь применять алгоритмы и структуры данных при разработке программ.
3. Сможете браться за сложные проекты и повышать чек за свою работу.
Кому подходит курс:
1. Junior-разработчикам и недоджунам
- Курс предназначен для тех, кто уже имеет базовые навыки в любом объектно-ориентированном языке программирования.
- Вы освоите как теоретический, так и практический материал.
- Сможете выйти на новый уровень, получить повышение и больше зарабатывать.
- Подтянете свои знания по теме алгоритмов и структур данных.
- В курсе теории совсем немного, преобладает практика.
- Каждый урок включает в себя множество примеров.
- В конце – домашнее задание.
- Вы уверенно сможете брать новые проекты или претендовать на повышение.
1. Знаете один из объектно-ориентированных языков программирования (Python, Java, PHP, C++, JavaScript, C#).
2. Этот курс подойдет вам, если Вы отлично разбираетесь в базовой математике.
Почему алгоритмы:
1. Польза
Программист должен понимать принцип работы алгоритмов и уметь использовать в своих программах.
2. Удобство
Показывают важные приемы алгоритмического подхода, которые применяются в других задачах.
3. Опыт
Изучаются в университетском курсе на IT-специальностях, и часто встречаются на технических собеседованиях.
После курса вы:
1. Станете понимать фундаментальные структуры данных;
2. Разберетесь в составе стандартных библиотек языков программирования;
3. Получите практический опыт решения сложных алгоритмических задач;
4. Разберетесь в структурах данных;
5. Сможете применять изученные языки при разработке программ;
6. Сможете легко пройти техническое собеседование.
Спойлер: Содержание
Блок 1 - Базовый
Модуль 1 - Введение. Производительность алгоритмов
- Знакомство с программой курса и алгоритмами.
- Способы измерения времени выполнения алгоритмов.
- О-нотация.
- Числовые алгоритмы: алгоритм Эвклида, возведения в целую степень, схема Горнера, проверка простоты, решето Эратосфена.
- Массивы.
- Указатели.
- Доступ к элементам.
- Линейный поиск.
- Двумерные массивы.
- Динамический массив.
- Бинарный поиск.
- Вставка и удаление элемента.
- Удаление нескольких элементов.
- Понятие об АТД, интерфейсе.
- Односвязные, двусвязные списки.
- Основные операции.
- Реализации на массиве.
- Реализация на списке.
- Применение.
- Понятие о пирамиде (куче), построение пирамиды.
- Извлечение максимума, добавление элемента.
- Квадратичные сортировки.
- Сортировка слиянием.
- Быстрая сортировка.
- Пирамидальная сортировка. std::sort.
- Сортировка подсчетом.
- Поиск медианы и порядковых статистик методом QuickSelect.
- Виды деревьев.
- Обходы в глубину и в ширину.
- Двоичные деревья поиска.
- Необходимость балансировки.
- АВЛ-деревья и т.д.
- Хеш-таблицы и ассоциативный доступ.
- Методы разрешения коллизий.
- Примеры жадных алгоритмов, их корректность.
- Задача о рюкзаке.
- Одномерная и двумерная динамика.
- Виды графов.
- Представление графов.
- Связность.
- Обходы в глубину и в ширину.
- Сильная связность, конденсация.
- Поиск кратчайших путей, алгоритм Дейкстры.
- Символы, кодировки, юникод.
- Поиск в строках – алгоритмы Рабина-Карпа и Кнута-Морриса-Пратта.
- Бор.
- CRC-коды, MD5, SHA.
Блок 2 - Продвинутый
Модуль 16 - Сортировки
- Шелла, быстрая, поразрядная.
- Сложные алгоритмы поиска строк.
- Редакционное расстояние.
- Балансированные деревья.
- В-деревья.
- Остовные деревья, пути, раскраски и т.д.
- Интернет и графы.
- Методы Хаффмена и Лемпель-Зива.
- Практические задачи.
- Задача коммивояжера.
Примечание: тариф Полный
Продажник
Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться.