Программирование [Яндекс.Практикум] Алгоритмы для разработчиков (2020) [Часть 1 из 4]

Domix

Редактор
Регистрация
04.11.19
Сообщения
5.208
Реакции
253.713
Алгоритмы для разработчиков (2020) [Часть 1 из 4]
Автор: Яндекс.Практикум

Изображение [Яндекс.Практикум] Алгоритмы для разработчиков (2020) [Часть 1 из 4] в посте 270031


Стать крутым инженером будет проще разработчику, который знаком со структурами данных и алгоритмами. Крупнейшие IT-компании мира и многие стартапы проверяют на собеседованиях алгоритмическую подготовку соискателей. Это лучший способ убедиться, что человек умеет быстро думать и писать работающий код. В этом курсе вы напишете много кода, научитесь оценивать эффективность решений, набьёте руку на практических заданиях, пройдёте учебное собеседование, максимально приближенное к реальности.

Введение в алгоритмы
5 часов
Определение алгоритма. Понятие сложности алгоритмов. O-нотация.

Основные структуры данных
15 часов
Массив, связный список, стек, очередь. Представление в памяти, сложность операций вставки, поиска и удаления. Преимущества и недостатки использования.

Жадные алгоритмы
5 часов
Понятие жадного алгоритма, область применения. Примеры, доказательство корректности алгоритма.

Рекурсия
5 часов
Понятние рекурсии. Основная теорема о рекурсии. Принцип разделяй и властвуй. Преимущества и недостатки метода.

Сортировки
10 часов
Квадратичные сортировки. Сортировка слиянием. Алгоритм нахождения k-й порядковой статистики, быстрая сортировка. Сортировки с использованием свойств элементов. Внешняя сортировка.

Деревья
20 часов
Бинарный поиск. Деревья поиска. Сбалансированные деревья. Куча. Пирамидальная сортировка. Некоторые специальные деревья.

Алгоритмы на строках
20 часов
Алгоритм Хаффмана. Структура данных префиксное дерево. Алгоритмы поиска подстроки в строке.

Хеш-таблицы. Понятие и свойства хеш-функции.
10 часов
Абстракция отображение. Понятие и свойства хеш-функции, примеры. Коллизии и способы их разрешения. Множества. Битовые маски. Фильтр Блума.

Динамическое программирование
10 часов
Базовое динамическое программирование, одномерные и двумерные задачи. Динамическое программирование по подотрезкам. Динамическое программирование по подмножествам. Динамическое программирование по поддеревьям.

Графы
10 часов
Определение графа, способы представления в памяти. Обходы графов: DFS, BFS. Связность. Алгоритмы поиска кратчайших путей в графах. Построения минимального остовного дерева.

Подробнее:
Скачать:
Для просмотра скрытого содержимого необходимо Войти или Зарегистрироваться

Для тех, у кого нет Премиума Если у Вас нет Премиум статуса:
Преимущества Премиум подписки Преимущества Премиум подписки
Оформить Вечный Премиум Оформить Вечный Премиум