EGround
Редактор
- Сообщения
- 24.307
- Реакции
- 127
Алгоритмы на Python [Stepik] [Shultais Education]
Алгоритмы и структуры данных на языке Python. Погружаемся в серьезное программирование алгоритмов и решаем сложные задачи.
О курсе
Серьезный курс для будущих профессионалов.
На курсе мы в деталях рассматриваем классические алгоритмы и структуры данных с примерами на языке Python.
Погружаемся в мир программирования и учимся писать эффективный и быстрый код.
Чему вы научитесь
- Определять сложность алгоритмов.
- Оптимизировать алгоритмы и код.
- Выбирать оптимальные структуры под бизнес-задачи.
- Проектировать рекурсивные алгоритмы на Python.
- Оптимизировать рекурсивные функции.
- Строить и обходить деревья и графы.
- Сортировать массивы и связные списки.
- Быстро искать данные в массивах, деревьях и тексте.
- Искать и генерировать большие простые числа.
- Более эффективно использовать Python.
- Работать с хэш-таблицами, словарями и ассоциативными массивами.
- Шифровать и сжимать данные.
- Генерировать и обмениваться ключами шифрования.
- Сортировать данные, в том числе по нескольким критериям.
- Использовать комбинаторые алгоритмы и функции.
- Перебирать и оптимизировать деревья.
В курс входят
- 145 уроков
- 12часов 44минуты видео
- 41 интерактивная задача
Спойлер: Программа курса Введение в алгоритмы
- Введение в курс
- Понятие алгоритма
- Сложные проценты
- Линейный поиск
- Сортировка выбором
- Сложность алгоритмов
- Сложность алгоритмов, часть 2
- Задания
Структуры данных
- Связные списки
- Добавление вставка и удаление ячеек
- Двунаправленные связные списки
- Сортировка связных списков
- Массивы
- Многомерные массивы
- Треугольные массивы
- Стек
- Очередь
- Очередь с приоритетом и дек
- Задания на связные списки
- Задания на массивы
- Задания на стеки
- Задания на очереди
Сортировка
- Общее о сортировках
- Пузырьковая сортировка
- Сортировка вставками
- Пирамидальная сортировка (кучей)
- Пирамидальная сортировка, часть 2
- Быстрая сортировка
- Сложность быстрой сортировки
- Быстрая сортировка на месте
- Сортировка слиянием
- Сортировка подсчетом
- Блочная сортировка
- Устойчивость сортировок
- Сортировка по нескольким полям
- Задания
Поиск
- Бинарный поиск
- Интерполяционный поиск
- Задания
Численные алгоритмы
- Генерирование случайных чисел
- Наибольший общий делитель
- Возведение в степень
- Решето Эратосфена
- Проверка на простоту
- Поиск простых множителей
- Численные методы
- Задания
Хэширование
- Основы хэш-таблиц
- Прямое связывание
- Открытая адресация
- Удаление элементов из хэш-таблицы
- Квадратичное пробирование
- Квадратичное пробирование, часть 2
- Двойное хэширование
- Упорядоченное хэширование
- Фильтры Блума
- Задания
Рекурсия
- Понимание рекурсии
- Понимание рекурсии, часть 2
- Факториал
- Числа Фибоначчи
- Ханойская башня
- Задача о 8 ферзях
- Оптимизация задачи о восьми ферзях
- Сочетания
- Размещения
- Оптимизация рекурсии
- Кривая Коха
- Задания
Деревья
- Введение в деревья
- Обход деревьев
- Обход деревьев в ширину
- Добавление элементов в бинарные деревья поиска
- Поиск по двоичному дереву
- Удаление вершин из двоичного дерева
- Прошитые бинарные деревья
- Деревья квадрантов
- АВЛ-деревья
- 2-3 деревья
- B-деревья
- Красно-черные деревья
- Задания
Деревья принятия решения
- Введение в деревья принятия решений
- Метод полного перебора
- Метод ветвей и границ
- Случайный поиск
- Локальный поиск
- Имитация отжига
- Поиск максимума
- Сравнение эвристических алгоритмов
- Энтропия
- Энтропия и деревья принятия решений
- Алгоритм ID3Демо-доступ
- Задания
Алгоритмы на графах
- Введение в графы
- Способы представления графов
- Рекурсивный обход в глубину
- Обход в глубину с помощью стека
- Обход в ширину
- Топологическая сортировка
- Топологическая сортировка на практике
- Поиск циклов
- Поиск критического пути
- Критические пути на практике
- Поиск компонент связности
- Поиск компонент сильной связности
- Поиск мостов
- Остовные деревья
- Минимальное остовное дерево
- Алгоритм Прима
- Алгоритм Краскала
- Алгоритм Дейскстры
- Алгоритм Беллмана — Форда
- Кратчайшие пути на практике
- Задания
Строковые алгоритмы
- Простейший поиск подстроки
- Суффиксы, префиксы, грани
- Префикс-функция
- Алгоритм Кнута — Моририса — Пратта
- Алгоритм Бойера — Мура
- Алгоритм Бойера — Мура на практике
- Суффиксные деревья
- Поиск по суффиксному дереву
- Построение суффиксного дерева
- Скорость алгоритмов поиска текста
- Задания
Криптография
- Табличная перестановка
- Перестановка столбцов
- Шифры Цезаря и Виженера
- Метод одноразовых блокнотов
- Блочные шифры и SP-сети
- Обмен ключам по методу Диффи-Хеллмана
- Шифрование с открытым ключом
- Криптосистема RSA
- Гибридные криптосистемы
- Хэширование
- Применение хэширования в криптографии
- Луковая маршрутизация
- Задания
Сжатие
- Введение в сжатиеДемо-доступ
- Кодирование длин серий
- Код Хаффмана
- Сжатие Лемпеля — Зива — Велча
- Сжатие с потерями
- Задания
Продажник
Материал «Алгоритмы на Python [Stepik] [Shultais Education]», возможно, скоро появится на EGROUND.
Воспользуйтесь поиском, может быть, он уже опубликован.