8000 GitHub - grifguitar/algo-2024: Course of algorithms and data structures in the master's program at ITMO
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

grifguitar/algo-2024

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Course of Algorithms and Data Structures in the master's program at ITMO

Lecturer: Grigoriy Khlytin @kgrigoriy

Links:

Lectures:

Tasks:

Course plan:

L1. Алгоритм, модель вычислений, асимптотические нотации, рекурсия

  • что такое алгоритм, как записать алгоритм в виде псевдокода
  • модель вычислений RAM-машина, различия с реальным железом
  • базовый анализ сложности алгоритмов, введение в O-нотацию
  • рекурсия, рекуррентные соотношения, оценка времени через дерево рекурсивных вызовов
  • асимптотические нотации, индукция, мастер-теорема

L2. Элементарные структуры данных

  • статический массив, динамический массив, амортизация
  • немного про выделение памяти
  • связные списки: интерфейс, реализации, задачи
  • стек, очередь, дек: интерфейс, реализации, задачи

S1. Семинар + контроль

L3-4. Сортировки и бинарный поиск

  • сортировка подсчетом
  • несколько простых квадратичных сортировок
  • разделяй и властвуй, merge sort
  • понятие случайности и мат. ожидания, quick sort, простая k-я статистика
  • теорема о сортировках на сравнениях
  • бинарный поиск
  • бинарный поиск по ответу
  • тернарный поиск

S2. Семинар + контроль

L5-6. Древовидные структуры данных: куча, дерево поиска

  • интерфейс множества: insert, remove
  • куча, минимум в множестве
  • дерево поиска
  • декартово дерево поиска как упорядоченное множество, немного про обход деревьев, итераторы
  • декартово дерево как продвинутый массив: дд по неявному ключу
  • префиксные суммы, идея предпросчета
  • идея отложенных операций в массиве
  • разреженная таблица
examples:

S3. Семинар + контроль

L7. Все про хеши

  • понятие хеш-функции
  • неупорядоченное множество, хеш-таблица
  • строка как массив символов, полиномиальный хеш
  • поиск подстроки в тексте

S4. Семинар + контроль

L8. Корневые декомпозиции

  • деление на тяжелые и легкие объекты
  • декомпозиция массива
  • декомпозиция запросов: по времени, по пространству
  • алгоритм мо

S5. Семинар + контроль

L9-11. Графы, обходы графов, кратчайшие пути

  • какие бывают графы
  • список ребер, список смежности, матрица смежности
  • dfs, время входа и время выхода, топологическая сортировка
  • компоненты связности, компоненты сильной связности, компоненты ребер 5824 ной двусвязности: мосты
  • bfs, bfs с k очередями
  • алгоритм дейкстры и форда-беллмана
  • минимальное остовное дерево + система непересекающихся множеств на практике

S6. Семинар + контроль

L12-13. Динамическое программирование

  • базовые примеры
  • отличия от полного перебора и жадных алгоритмов
  • дп по префиксу, дп по подотрезку, примеры задач
  • рюкзак
  • мемоизация с хеш-мапой

S7. Семинар + контроль

About

Course of algorithms and data structures in the master's program at ITMO

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
0