Описание
[Никита Шультайс] Алгоритмы и структуры данных (2024) [Shultais Education]
Курс рассчитан на разработчиков, которые хотят улучшить навыки алгоритмизации и научиться решать рабочие задачи оптимальным способом.
В курсе мы изучим классические алгоритмы и структуры данных. Разберем их эффективность, область применения и ограничения. Научимся применять общие методы для решения задач программирования.
Минимальные навыки: умение программировать на языке Python.
Кому подойдет этот курс:
Курс «Алгоритмы» подойдет для подготовленных программистов на Python, а также студентами и разработчикам на других языках, которые хотят расширить свои навыки эффективными инструментами.
- Программистам на Python
Научитесь писать эффективные и быстрые алгоритмы на Питоне. Значительно расширите горизонты своих навыков.
Сможете лучше подготовиться к собеседованиям в серьезные компании. - Студентам
Познакомитесь с классическими алгоритмами на практике, а не только в теории.
Сможете отточить навыки программирования и подготовиться к сессии. - Программистам самоучкам
Восполните недостающие навыки по алгоритмизации. Научитесь писать быстрый код и использовать эффективные структуры данных для решения бизнес-задач.
Пройдя все уроки, изучив схемы и исходные коды, а также решив задания вы научитесь:
- Пользоваться классическими структурами данных.
- Выбирать оптимальные структуры под задачи.
- Определять сложность алгоритмов.
- Оптимизировать алгоритмы.
- Проектировать рекурсивные алгоритмы на Python.
- Оптимизировать рекурсивные функции.
- Строить и обходить деревья и графы.
- Сортировать массивы и связные списки.
- Быстро искать данные в массивах, деревьях и тексте.
- Искать и генерировать большие простые числа.
- Более эффективно использовать Python.
- Проектировать надежные и быстрые алгоритмы.
- Работать с хэш-таблицами, словарями и ассоциативными массивами.
- Шифровать и сжимать данные.
- Генерировать и обмениваться ключами шифрования.
- Сортировать данные, в том числе по нескольким критериям.
- Использовать комбинаторые алгоритмы и функции.
- Перебирать и оптимизировать деревья.
Программа:
1. Введение в алгоритмы. 7 уроков
Познакомитесь с основными характеристиками алгоритмов.
Узнаете простые и эффективные способы оценки сложности алгоритмов.
2. Структуры данных. 10 уроков
Познакомитесь с базовыми структурами данных.
Научитесь работать со связными списками и массивами.
Узнаете, что такое стек, очередь и дек в Python.
Научитесь выбирать правильную структуру данных в зависимости от задач.
3. Сортировка. 13 уроков
Познакомитесь с популярными алгоритмами сортировки на Python.
Научитесь выбирать алгоритмы сортировки под задачи и данные.
Научитесь сортировать по нескольким полям.
Узнаете, что такое устойчивые сортировки.
4. Поиск. 2 урока
Познакомитесь с линейными и бинарным поиском.
Научитесь использовать интерполяционный поиск.
5. Численные алгоритмы. 7 уроков
Научитесь генерировать случайные числа, а также вычислять наибольший общий делитель.
Узнаете об алгоритмах быстрого возведения в степень.
Расширите свои знания о простых числах и научитесь строить решето Эратосфена, а также быстро проверять на простоту любое число.
Познакомитесь с базовыми численными методами.
6. Хэширование. 9 уроков
Узнаете, что такое хэш-таблицы и как устроены python-словари и ассоциативные массивы.
Научитесь разными способами пробирования и борьбе с коллизиями.
Познакомитесь с фильтрами Блума.
7. Рекурсия. 11 уроков
Подробно изучите механизм рекурсивных вызовов.
Познакомитесь с базовыми рекурсивными алгоритмами Python: вычислением факториала, построением ряда Фибоначчи, задачами о 8 ферзях и ханойской башне.
Освоите комбинаторные алгоритмы: сочетания, повторения и размещения.
Научитесь оптимизировать рекурсию и приводить рекурсивные алгоритмы к итеративным.
Познакомитесь с фракталами.
8. Деревья. 12 уроков
Познакомитесь с деревьями.
Научитесь обходить деревья в ширину и глубину.
Узнаете как искать элементы в двоичном дереве.
Познакомитесь с прошитыми бинарными деревьями, АВЛ-деревьями, 2-3 деревьями, B-деревьями, а также красно-черными деревьями.
9. Деревья принятия решений. 11 уроков
Узнаете, что такое деревья принятия решений.
Научитесь методу полного перебора, а также методу ветвей и границ.
Освоите приемы оптимизации деревьев.
Научитесь производить поиск по деревьям принятия решений.
10. Алгоритмы на графах. 20 уроков
Познакомитесь с сетями и графами.
Научитесь обходить деревья, а также находить кратчайший путь.
Освоите топологическую сортировку.
Узнаете как об алгоритме поиска циклов.
11. Строковые алгоритмы. 10 уроков
Научитесь искать информацию в текстах.
Познакомитесь с алгоритмами Кнута-Морриса-Пратта,
а также Бойера-Мура-Хорспула.
Узнаете, что такое синтаксические деревья.
12. Криптография. 12 уроков
Познакомитесь с подстановочными и перестановочными шифрами.
Узнаете как работают SP-сети и блочное шифрование.
Научитесь применять протокол Диффи-Хеллмана.
Узнаете несколько вариантов использования алгоритмов с открытым ключом, включая шифрование, цифровую подпись, а также гибридные схемы.
Узнаете о криптографическом хэшировании и его применении на практике.
Познакомитесь со схемой луковой маршрутизации и узнаете как работает Tor.
13. Сжатие. 5 уроков
Узнаете об алгоритмах сжатия.
Научитесь кодировать серии данных.
Познакомитесь с кодом Хаффмана.
Освоите сжатие Лемпеля-Зива-Велча.
Узнаете как работает сжатие с потерями на примере растровых изображений и музыкальных-форматов.
Никита Шультайс:
Преподаватель
Профессиональный web-программист со стажем коммерческой разработки более 10 лет.
Автор статей в журнале LinuxFormat, участник олимпиад по математике и программированию, создатель серии курсов по разработке, базам данных и верстке.
Автор курса: Никита Шультайс
Сайт продажника: https://shultais.education/courses/algo
Цена с продажника: 4720 руб.
У нас Вы можете приобрести всего за 200 руб.
Отзывы
Отзывов пока нет.