Видеокурсы: различия между версиями
Перейти к навигации
Перейти к поиску
Ctrlalt (обсуждение | вклад) |
Ctrlalt (обсуждение | вклад) |
||
Строка 30: | Строка 30: | ||
* [http://www.youtube.com/playlist?list=PLSO6QI4DFZ8e_88STemeIgLL7j68EOYyi Видеозаписи семинаров Уральского федерального университета] (YouTube; М. Рубинчик; 2013–2017) | * [http://www.youtube.com/playlist?list=PLSO6QI4DFZ8e_88STemeIgLL7j68EOYyi Видеозаписи семинаров Уральского федерального университета] (YouTube; М. Рубинчик; 2013–2017) | ||
* [http://ulearn.me/Course/complexity Оценка сложности алгоритмов] (Ulearn; 2018) | * [http://ulearn.me/Course/complexity Оценка сложности алгоритмов] (Ulearn; 2018) | ||
: | : <span style="line-height: 80%; font-size: 80%; font-style: italic;">Короткий (~1 час) текстовый курс, содержащий задачи на определение Θ-оценок предложенного кода. Также содержит краткие теоретические разделы.</span> | ||
== Курсы МФТИ == | == Курсы МФТИ == |
Версия от 10:13, 15 февраля 2018
Лекции Летней компьютерной школы
- Видеозаписи лекций ЛКШ
- ЛКШ.2008.Подмосковье, параллель B (YouTube; О. Давыдов, Р. Сатюков; 2008)
- ЛКШ.2008.Подмосковье, параллель B' (YouTube; С. Копелиович, О. Пестов, С. Мельников; 2008)
- ЛКШ.2008.Подмосковье, параллель C (YouTube; А. Станкевич, К. Абакумов, М. Мухачева; 2008)
- ЛКШ.2008.Подмосковье, параллель C' (YouTube; В. Гуровиц, В. Кошелёв, П. Осипов, О Пакуляк; 2008)
- Темы: стиль программирования, сложность алгоритмов (ясное и наглядное изложение), логические и битовые операции, использование битмасок; (...)
- Спецкурсы ЛКШ.2008.Подмосковье: «Введение в проективную геометрию», «Мышление, вычисления и ИИ», «Избирательные системы», «Элементы линейной алгебры», «Введение в БД»
Лекции Зимней школы
- Видеозаписи лекций Зимней школы ХНУРЭ (YouTube; коллектив авторов; 2008–2014)
Лекции КФУ
- Видеозаписи лекций ЗШОП КФУ, начинающая группа (YouTube; К. Хадиев, 2016)
Семинары УрФУ и курсы СКБ Контур
- Видеозаписи семинаров Уральского федерального университета (YouTube; М. Рубинчик; 2013)
- Видеозаписи семинаров Уральского федерального университета (YouTube; М. Рубинчик; 2013–2017)
- Оценка сложности алгоритмов (Ulearn; 2018)
- Короткий (~1 час) текстовый курс, содержащий задачи на определение Θ-оценок предложенного кода. Также содержит краткие теоретические разделы.
Курсы МФТИ
- Алгоритмы: построение и анализ (YouTube; Д. Швед; 2010)
Курсы ИТМО
- Алгоритмы программирования и структуры данных (Openedu.ru; М. Буздалов, П. Маврин, Н. Нигматуллин; 2016)
- Темы: асимптотические обозначения, сортировка вставками; сортировка слиянием, быстрая сортировка, Ω-оценка сортировок сравнением; сортировка подсчётом, цифровая сортировка, карманная сортировка; стек, очередь, списки, двоичные деревья; двоичная куча, сортировка кучей, очередь с приоритетами; двоичный поиск, двоичные деревья поиска; балансирующиеся двоичные деревья (АВЛ-деревья, Splay-деревья); хеш-таблицы, хеш-функции, методы открытой адресации; поиск подстрок, алгоритм Рабина-Карпа; префикс-функция, Z-функция, алгоритм Бойера-Мура.
- Лекции достаточно краткие, часто в ущерб понятности. В задачах попадаются сложный ввод/вывод и жёсткие ограничения.
Курсы Computer Science Center
- Алгоритмы и структуры данных 1 (Lektorium; А. Куликов, М. Дворкин; 2011)
- Алгоритмы и структуры данных 2 (Lektorium; А. Куликов, М. Дворкин; 2012)
- Дополнительные главы алгоритмов (Lektorium; А. Станкевич; 2013)
- Темы: d-куча, сливаемые кучи (левосторонние, биномиальные, фибоначчиевы; тонкие, Бродала-Окасаки); splay-деревья; TANGO-деревья; (...)
- Алгоритмы и структуры данных (Stepik/YouTube; А. Куликов; 2014)
- Алгоритмы: теория и практика. Методы (Stepik; А. Куликов; 2015)
- Темы: числа Фибоначчи, НОД, асимптотические обозначения; жадные алгоритмы (покрытие точек отрезками, выбор заявок, максимальное независимое множество, непрерывный рюкзак, коды Хаффмана), очереди с приоритетами; divide and conquer (двоичный поиск, умножение Карацубы, умножение Штрассена), сортировки (слиянием, Ω-оценка сортировок сравнением, быстрая, порядковые статистики, кучей, подсчётом), мастер-теорема; динамическое программирование (наибольшая возрастающая подпоследовательность, редакционное расстояние, целочисленный рюкзак, перемножение матриц, независимое множество максимального веса). Разбор решений на C++, Python, Java.
- Алгоритмы: теория и практика. Структуры данных (Stepik; А. Куликов; 2016)
- Темы: массивы, списки, стек (скобочная последовательность, стек с минимумом), очередь (очередь на двух стеках, минимум в окне), деревья, расширяющийся массив; очередь с приоритетом, куча, сортировка кучей; система непересекающихся множеств + эвристики; хеш-таблицы, разрешение коллизий, универсальное хеширование, алгоритм Рабина-Карпа; деревья поиска, АВЛ-деревья; АВЛ + count/merge/split, АВЛ + сумма на отрезке, АВЛ + неявный ключ; splay-деревья.
Курсы Школы анализа данных Яндекса
- Алгоритмы и структуры данных поиска (YouTube; М. Бабенко; 2012)
Вебинары Ф. В. Меньшикова (разбор задач acmp.ru)
- Олимпиадное программирование с нуля на Java (YouTube; Ф. Меньшиков; 2016–)
- 3.5 задачи в неделю (YouTube; Ф. Меньшиков; 2016–)
Лекции CodeChef
- CodeChef's Indian Programming Camp 2016 (YouTube; коллектив авторов; 2016)
Курсы O'Reilly Media
- Learning Data Structures and Algorithms (O'Reilly Media; R. Stephens; 2015)
- Working with Algorithms in Python (O'Reilly Media; G. T. Heineman; 2014)
- Курс на английском языке от соавтора книги «Algorithms in a Nutshell». Полная версия видео может быть найдена в Интернете. Слайды + живые примеры программ на Python, наглядно демонстрируется время работы.
Кратко рассматриваются: двоичный поиск, двоичные деревья поиска, O-оценка, сортировка слиянием, быстрое возведение в степень, brute-force, kd-деревья, представление графов, DFS, Флойд, ДП (числа Фибоначчи и редакционное расстояние), куча и сортировка кучей, Дейкстра, Прим.
Курсы университетов США
MIT:
- MIT 6.006 — Introduction to Algorithms (YouTube; E. Demaine; 2011)
- MIT 6.046J — Introduction to Algorithms (SMA 5503) (YouTube; C. Leiserson, E. Demaine; 2005)
- MIT 6.046J — Design and Analysis of Algorithms (YouTube; E. Demaine, S. Devadas, N. Lynch; 2015)
- MIT 6.851 — Advanced Data Structures (YouTube; E. Demaine; 2012)
Princeton:
- Algorithms, Part I (Coursera; R. Sedgewick, K. Wayne; 2012)
- Algorithms, Part II (Coursera; R. Sedgewick, K. Wayne; 2012)
- Analytic Combinatorics, Part I (Coursera; R. Sedgewick; 2013)
- Analytic Combinatorics, Part II (Coursera; R. Sedgewick; 2013)
Stanford:
- Divide and Conquer, Sorting and Searching, and Randomized Algorithms (Coursera; T. Roughgarden; 2012)
- Graph Search, Shortest Paths, and Data Structures (Coursera; T. Roughgarden; 2012)
- Greedy Algorithms, Minimum Spanning Trees, and Dynamic Programming (Coursera; T. Roughgarden; 2012)
- Shortest Paths Revisited, NP-Complete Problems and What To Do About Them (Coursera; T. Roughgarden; 2012)
UC San Diego:
- Algorithmic Toolbox (Coursera; D. Kane, A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
- Темы: стресс-тестирование; числа Фибоначчи за O(N), алгоритм Евклида, асимптотические обозначения; жадные алгоритмы (заправка машины, покрытие точек единичными отрезками, непрерывный рюкзак); divide and conquer (двоичный поиск, умножение многочленов, мастер-теорема), сортировки (выбором, слиянием, быстрая, подсчётом, Ω-оценка сортировок сравнением); динамическое программирование (размен монет, рюкзак с повторениями, рюкзак без повторений, расстановка скобок).
- Data Structures (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
- Algorithms on Graphs (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
- Algorithms on Strings (Coursera; A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
- Advanced Algorithms and Complexity (Coursera; D. Kane, A. Kulikov, M. Levin, N. Rhodes; 2016)
- Genome Assembly Programming Challenge (Coursera; A. Kulikov, M. Levin, P. Pevzner, N. Rhodes; 2016)
- Data Structures (Stepic; N. Moshiri, L. Izhikevich; 2016)
- Темы: асимптотические обозначения, классы сложности, основы C++, псевдослучайные числа, битовые операции, командная строка Unix, git; массивы, связные списки, списки с пропусками, циклические массивы, АТД (дек, очередь, стек), итераторы; деревья, кучи, двоичные деревья поиска, декартовы деревья, АВЛ-деревья, красно-чёрные деревья, B-деревья, B+-деревья; графы, представление графов, BFS, DFS, алгоритм Дейкстры, MST, DSU; хеширование, хеш-таблицы, коллизии и их разрешение (открытая адресация, метод цепочек, cuckoo hashing), hash maps; множества и словари (на списках, массивах, деревьях, хеш-таблицах, борах, троичных деревьях поиска); кодирование, энтропия, сжатие Хаффмана, побитовый ввод-вывод; резюме по структурам данных.
Курс является текстовым, но содержит колоссальное количество хорошо структурированной информации о структурах данных. Имеются тесты и задачи на программирование, оба вида заданий очень просты.
Stony Brook University:
- Programming Challenges HKUST (YouTube; S. Skiena; 2009)
- Analysis of Algorithms (YouTube; S. Skiena; 2016)