- Индуктивные функции и однопроходные алгоритмы. (лекция №2)
- Кеширование при рекурсии на примере чисел Фибоначчи. (лекция №3)
- Дискретный алгоритм укладки рюкзака. (лекция №3)
- Списки: односвязный, двусвязный, кольцо. Описать класс односвязного списка. (лекция №4)
- Пирамида (куча). Пирамидальная сортировка. (лекция №5)
- Двоичный поиск в массиве. (лекция №5)
- Открытая хеш и закрытая хеш-таблицы. Проблема удаления из закрытой хеш-таблицы. Перехеширование. (лекция №6)
- Словари и множества в Python. Пример применения ассоциативного массива. (лекция №7)
- Определение графа. Степень вершины, петли, кратные рёбра. Изоморфизм. Цепи, пути и циклы. (лекция №9)
- Сильная и слабая связность графа. Компоненты связности. (лекция №9)
- Определение дерева. Свойства дерева. Остовное дерево графа. (лекция №9)
- Способы представления графа в памяти: список рёбер, матрица смежности, списки смежности. (лекция №9)
- Выделение компоненты связности обходом в глубину. (лекция №10)
- Проверка двудольности графа. (лекция №10)
- Проверка графа на ацикличность или нахождение цикла обходом в глубину. (лекция №10)
- Алгоритм Косарайю выделения компонент сильной связности орграфа. (лекция №10)
- Топологическая сортировка. Алгоритм Тарьяна.
- Выделение компонент связности обходом в ширину. (лекция №11)
- Нахождение кратчайшего цикла в невзвешенном графе. (лекция №11)
- Алгоритм Дейкстры с очередью. (лекция №12)
- Жадный алгоритм Дейкстры. (лекция №14)
- Алгоритм Флойда-Уоршелла. (лекция №14)
- Двоичное дерево поиска. Поиск и добавление элемента. (лекция №13)
- Хранение двоичного дерева поиска в памяти ПК. (лекция №13)
- Сбалансированное дерево поиска. Левое и правое малое и большое вращение. (лекция №13)
- Эйлеров цикл и Гамильтонов цикл. Асимптотика построения. Построение гамильтонова цикла. (лекция №14)