Алгоритмы и структуры данных - Полный курс [Stepik] [Алексей Ковальчук]
Полный курс по алгоритмическому программированию и структурам данным.
В курсе разбираются фундаментальные вопросы, такие как оценка сложности алгоритмов и анализ скорости работы встроенных методов и функций, так и прикладные аспекты: объем практики и теории сбалансирован. Курс нацелен на учеников старших классов школ, студентов и взрослых и помогает закрыть все задачи, связанные с изучением алгоритмов. Курс ведется на языке Python, но подойдет, если вы пишете код на другом языке (C/С++, JS и т.д.)
Чему вы научитесь:
1. Научитесь быстрее писать чистый код
2. Освоите алгоритмы и структуры данных с нуля
3. Подготовитесь к алгоритмическим собеседованиям и олимпиадам
4. Решите 70+ практических задач
5. Сможете учиться в своем темпе и в любое удобное время
О курсе:
Этот курс является финальной частью блока из трех курсов по программированию. Основная цель данного курса - изучение всех основ алгоритмического программирования и формирование у учащегося правильного подхода по изучению алгоритмов.
Программа курса:
Модуль 1- Вступление
Рекомендации по прохождению курса
Модуль 2 - Оценка сложности алгоритмов
Оценка сложности алгоритмов. Теория.
Задачи на оценку сложности алгоритмов.
Модуль 3 - Поиск и сортировка
Линейный поиск. Бинарный (Двоичный) поиск. ОсновноеДемо-доступ
Переборные алгоритмы
Бин поиск по ответу
Действительный двоичный поиск.
Сортировки.
Модуль 4- Жадные алгоритмы
Теория
Задачи
Модуль 5 - Динамическое программирование
Теория (ч. 1)
Одномерная динамика
Теория (ч. 2)
Двумерная динамика
Теория. Задача о рюкзаке (ч. 3)
Теория. НОП. НВП (ч. 4)
Теория. Ленивая динамика. Рекурсия (ч. 5)
Практика. Задача о Рюкзаке.
Практика. НОП. НВП.
Избранные задачи
Модуль 6 - Метод двух указателей
Теория
Практика
Модуль 7 - Битовые операции
Теория
Практика
Модуль 8 - Графы
Теория (ч. 1)
Практика (ч. 1)
DFS (теория)
BFS (теория)
Алгоритм Дейкстры (теория)
Практика (ч. 2)
Практика (ч. 3)
Избранные задачи
Модуль 9 - Деревья
Теория
Практика (ч. 1)
Модуль 10 - Арифметика и числовые алгоритмы
Делимость. Простота. Факторизация.
Алгоритм Евклида. НОД. НОК.
Практика (ч. 1)
Практика (ч. 2)
Модуль 11 - Геометрия
Вступление
Вектор. Прямая.
Окружность.
Многоугольники. Выпуклая оболочка.
Практика (ч. 1)
Модуль 12 - Дополнительные структуры
Stack (Стэк)
Queue (очередь)
Dequeue (двухсторонняя очередь)
LinkedList (Связный список)
Heap (куча)
Полный курс по алгоритмическому программированию и структурам данным.
В курсе разбираются фундаментальные вопросы, такие как оценка сложности алгоритмов и анализ скорости работы встроенных методов и функций, так и прикладные аспекты: объем практики и теории сбалансирован. Курс нацелен на учеников старших классов школ, студентов и взрослых и помогает закрыть все задачи, связанные с изучением алгоритмов. Курс ведется на языке Python, но подойдет, если вы пишете код на другом языке (C/С++, JS и т.д.)
Чему вы научитесь:
1. Научитесь быстрее писать чистый код
2. Освоите алгоритмы и структуры данных с нуля
3. Подготовитесь к алгоритмическим собеседованиям и олимпиадам
4. Решите 70+ практических задач
5. Сможете учиться в своем темпе и в любое удобное время
О курсе:
Этот курс является финальной частью блока из трех курсов по программированию. Основная цель данного курса - изучение всех основ алгоритмического программирования и формирование у учащегося правильного подхода по изучению алгоритмов.
Программа курса:
Модуль 1- Вступление
Рекомендации по прохождению курса
Модуль 2 - Оценка сложности алгоритмов
Оценка сложности алгоритмов. Теория.
Задачи на оценку сложности алгоритмов.
Модуль 3 - Поиск и сортировка
Линейный поиск. Бинарный (Двоичный) поиск. ОсновноеДемо-доступ
Переборные алгоритмы
Бин поиск по ответу
Действительный двоичный поиск.
Сортировки.
Модуль 4- Жадные алгоритмы
Теория
Задачи
Модуль 5 - Динамическое программирование
Теория (ч. 1)
Одномерная динамика
Теория (ч. 2)
Двумерная динамика
Теория. Задача о рюкзаке (ч. 3)
Теория. НОП. НВП (ч. 4)
Теория. Ленивая динамика. Рекурсия (ч. 5)
Практика. Задача о Рюкзаке.
Практика. НОП. НВП.
Избранные задачи
Модуль 6 - Метод двух указателей
Теория
Практика
Модуль 7 - Битовые операции
Теория
Практика
Модуль 8 - Графы
Теория (ч. 1)
Практика (ч. 1)
DFS (теория)
BFS (теория)
Алгоритм Дейкстры (теория)
Практика (ч. 2)
Практика (ч. 3)
Избранные задачи
Модуль 9 - Деревья
Теория
Практика (ч. 1)
Модуль 10 - Арифметика и числовые алгоритмы
Делимость. Простота. Факторизация.
Алгоритм Евклида. НОД. НОК.
Практика (ч. 1)
Практика (ч. 2)
Модуль 11 - Геометрия
Вступление
Вектор. Прямая.
Окружность.
Многоугольники. Выпуклая оболочка.
Практика (ч. 1)
Модуль 12 - Дополнительные структуры
Stack (Стэк)
Queue (очередь)
Dequeue (двухсторонняя очередь)
LinkedList (Связный список)
Heap (куча)
Скрытое содержимое могут видеть только пользователи групп(ы): VIP