Содержание курса
Введение или зачем вам этот курс в эпоху ИИ?
1 урок
1.
Введение
↗
Алгоритм и структура данных. Основные определения.
4 урока
1.
Определение алгоритма
↗
2.
Вычислительная (временная) сложность алгоритма
↗
3.
Структуры и абстрактные типы данных
↗
4.
Резюме по главе и вопросы для самопроверки
↗
Структуры данных на Dart и встроенные коллекции
24 урока
1.
Массив (Array)
↗
2.
Задачи на массив
↗
3.
Ответы к задачам
↗
4.
Кольцевой, одно- и двухсвязный список (List)
↗
5.
Задачи на кольцевой, одно- и двухсвязный список
↗
6.
Ответы к задачам
↗
7.
Хэш-таблица (Hash table)
↗
8.
Задачи на хеш-таблицы
↗
9.
Ответы к задачам
↗
10.
Множество (Set)
↗
11.
Задачи на множество
↗
12.
Ответы к задачам
↗
13.
Стек (Stack)
↗
14.
Очередь (Queue)
↗
15.
Задачи на стек и очередь
↗
16.
Ответы к задачам
↗
17.
Дерево (Tree) [Двоичное, красно-черное, AVL, Trie]
↗
18.
Задачи на деревья
↗
19.
Ответы к задачам
↗
20.
Куча (Heap)
↗
21.
Задачи на кучу
↗
22.
Ответы к задачам
↗
23.
Встроенные коллекции Dart
↗
24.
Резюме по главе и вопросы для самопроверки
↗
Алгоритмы сортировок
14 уроков
1.
Сортировка пузырьком (Bubble sort)
↗
2.
Шейкерная сортировка (Cocktail sort)
↗
3.
Сортировка расческой (Сomb sort)
↗
4.
Гномья сортировка (Gnome sort)
↗
5.
Сортировка подсчетом (Counting sort)
↗
6.
Сортировка вставками (Insertion sort)
↗
7.
Сортировка выбором (Selection sort)
↗
8.
Сортировка слиянием (Merge sort)
↗
9.
Быстрая сортировка (Quick sort)
↗
10.
Пирамидальная сортировка (Heap sort)
↗
11.
Сортировка по основанию (Radix sort)
↗
12.
Разбор задач на сортировку
↗
13.
Тесты на сортировку
↗
14.
Резюме по главе и вопросы для самопроверки
↗
Алгоритмы поиска
11 уроков
1.
Введение
↗
2.
Линейный поиск (Linear search)
↗
3.
Бинарный поиск (Binary search)
↗
4.
Троичный поиск (Ternary search)
↗
5.
Поиск Фибоначчи (Fibonacci search)
↗
6.
Интерполяционный поиск (Interpolation search)
↗
7.
Скачкообразный поиск (Jump search)
↗
8.
Быстрый выбор (Quickselect)
↗
9.
Разбор задач на поиск
↗
10.
Тесты на поиск
↗
11.
Резюме по главе и вопросы для самопроверки
↗
Графы
11 уроков
1.
Что такое граф?
↗
2.
Способы представления графа и его реализация
↗
3.
Поиск в ширину (Breadth-first search, BFS)
↗
4.
Поиск в глубину (Depth-first search, DFS)
↗
5.
Алгоритм Дейкстры (Dijkstra’s algorithm)
↗
6.
Алгоритм Форда-Беллмана (Bellman-Ford algorithm)
↗
7.
Алгоритм Флойда-Уоршелла (Floyd-Warshell algorithm)
↗
8.
Алгоритм Прима (Prim’s algorithm)
↗
9.
Топологическая сортировка (Topological sorting)
↗
10.
Тесты на графы
↗
11.
Резюме по главе и вопросы для самопроверки
↗
Жадные алгоритмы и динамическое программирование
11 уроков
1.
Введение
↗
2.
Задача о дробном рюкзаке [ЖА]
↗
3.
Задача о железнодорожных платформах [ЖА]
↗
4.
Задача о последовательности выполнения заданий [ЖА]
↗
5.
Задача коммивояжера [ЖА]
↗
6.
Кодирование Хаффмана (Код Хаффмана) [ЖА]
↗
7.
0–1 задача о рюкзаке [ДП]
↗
8.
Задача о наибольшей возрастающей и убывающей последовательности
↗
9.
Числа Фибоначчи [ДП]
↗
10.
Задача о поиске квадратов значений [ДП]
↗
11.
Резюме по главе и вопросы для самопроверки
↗
Вводное слово по паттернам GoF
2 урока
1.
Что дает знание паттернов и когда их лучше изучать
↗
2.
Как проходить вторую часть курса
↗
Порождающие паттерны проектирования
7 уроков
1.
Для чего используются и из каких паттернов состоит
↗
2.
Фабричный метод (Factory Method)
↗
3.
Абстрактная фабрика (Abstract Factory)
↗
4.
Строитель (Builder)
↗
5.
Прототип (Prototype)
↗
6.
Одиночка (Singleton)
↗
7.
Тест по порождающим паттернам
↗
Структурные паттерны проектирования
9 уроков
1.
Для чего используются и из каких паттернов состоит
↗
2.
Адаптер (Adapter)
↗
3.
Мост (Bridge)
↗
4.
Компоновщик (Composite)
↗
5.
Декоратор (Decorator)
↗
6.
Фасад (Facade)
↗
7.
Приспособленец (Flyweight)
↗
8.
Заместитель (Proxy)
↗
9.
Тест по структурным паттернам
↗
Поведенческие паттерны проектирования
13 уроков
1.
Для чего используются и из каких паттернов состоит
↗
2.
Цепочка Обязанностей (Chain of Responsibilities)
↗
3.
Команда (Command)
↗
4.
Итератор (Iterator)
↗
5.
Посредник (Mediator)
↗
6.
Хранитель (Memento)
↗
7.
Наблюдатель (Observer)
↗
8.
Состояние (State)
↗
9.
Стратегия (Strategy)
↗
10.
Шаблонный Метод (Template Method)
↗
11.
Посетитель (Visitor)
↗
12.
Тест по поведенческим паттернам (ч.1)
↗
13.
Тест по поведенческим паттернам (ч.2)
↗