[Skillbox] [И.Павлов, М.Овчинников, А.Коптева] Алгоритмы и структуры данных для разработчиков (2020)

5/5
Кому подойдёт курс: 1. Junior-разработчикам Вы научитесь применять алгоритмы и создавать новые, повысите свой профессиональный уровень и сможете устроиться в крупную компанию. 2. Middle-разработчикам Вы сможете участвовать в сложных проектах, связанных с высоконагруженными системами и обработкой больших объёмов данных. 3. Тем, кто готовится к олимпиадам Вы освоите базовые алгоритмы и структуры данных и сможете применять их для решения олимпиадных задач. Чему Вы научитесь: 1.Введение в алгоритмы Познакомитесь со структурой курса, с понятиями алгоритма и структуры данных, а также с простейшими алгоритмами на массивах. 2.Алгоритм бинарного поиска Узнаете, что такое бинарный поиск, как он работает, почему и насколько он эффективнее простого поиска перебором, а также о его возможностях и тонкостях. 3.Хеш-таблицы и хеш-функции Изучите принципы построения хеш-таблиц и особенности работы с ними, познакомитесь с понятием хеш-функции, проблемой их коллизий, а также решением этой проблемы. 4.Связные списки Узнаете, по каким принципам строятся и как работают односвязный и двусвязный списки, чем они лучше и чем хуже массивов. 5.Стек и очередь Познакомитесь со структурами данных — стек, очередь и дек (двусвязная очередь), узнаете принципы их построения и работы. 6.Основы алгоритмов сортировки Узнаете о принципах и особенностях популярных алгоритмов сортировки — SelectionSort, QuickSort и MergeSort. Научитесь оценивать на их примерах сложность алгоритмов по времени и памяти. 7.Рекурсивные алгоритмы Научитесь создавать и применять рекурсивные алгоритмы, а также познакомитесь с принципами оценки их сложности. 8.Сложность алгоритмов Узнаете, что такое О-нотация, научитесь оценивать сложность алгоритмов и различать их по памяти и времени. 9.Жадные алгоритмы Познакомитесь с принципами работы жадных алгоритмов на примере итераций с двумя и тремя индексами, а также алгоритмов на строках. 10.Деревья. Двоичные деревья поиска Узнаете о принципах работы и особенностях деревьев на примере бинарного дерева. Познакомитесь с алгоритмами поиска, добавления и удаления элементов из него. 11.Деревья. Обход в ширину и глубину Познакомитесь со сложными типами деревьев, которые применяют на практике. Узнаете, как они устроены, и научитесь с ними работать. 12.Куча (Heap) Узнаете, как работать со структурой данных куча: поймёте, как она устроена, научитесь добавлять и удалять элементы, сортировать данные внутри. 13.Бор. Суффиксное дерево. B-дерево Узнаете, что такое суффиксные деревья и как они применяются в алгоритмах поиска и сжатия. 14.Графы и рекурсивные алгоритмы Узнаете, что такое графы и как их обходить в длину и ширину. 15.Топологическая сортировка и неочевидные применения графов Разберёте распространённые задачи на графах, познакомитесь с алгоритмом Дейкстры. 16.Алгоритмы сжатия информации Изучите алгоритмы сжатия информации без потерь. Узнаете, по каким принципам работают современные алгоритмы архивации, а также какие алгоритмы используются для сжатия аудиофайлов и изображений. 17.Битовые алгоритмы Научитесь работать с основными битовыми операциями и алгоритмами, которые часто применяют на практике. Изучите маски и битовые индексы. 18.Алгоритмы хэширования. Криптографические алгоритмы Изучите принципы работы алгоритма расчёта контрольных сумм CRC и алгоритмов хеширования MD5 и SHA.

Для скачивания курса необходим Премиум доступ.

Источник: https://skillbox.ru/

Оставьте комментарий