Алгоритмы и структуры данных, часть 1
Санкт-Петербург, осень 2015
Описание
Вы наверняка замечали, что некоторые программы работают не очень быстро (говоря профессиональным языком, "тормозят"). Часто это бывает связано с тем, что в программе используются неэффективные алгоритмы и структуры данных. Этот курс поможет вам не совершать таких ошибок.
В рамках нашего курса вы, например, узнаете:
- Как узнать, быстро будет работать программа или нет, еще до того, как она написана.
- Как хранить данные так, чтобы можно было быстро найти нужное значение.
- Как умножать числа быстрее, чем школьным методом в столбик.
- Как найти пару ближайших точек на плоскости, не проверяя при этом все пары точек.
- Как оптимально собирать рюкзак в дорогу (на самом деле нет, но почти).
Первые шесть недель лекции будут идти в формате онлайн-курса, далее вживую. Семинары будут идти вживую в течение всего курса.
Страница онлайн-курса: stepic.org/218. Онлайн-курс содержит 40 задач трёх типов: тесты, теоретические задачи, задачи на программирование. Обратите внимание, что для получения полного балла за каждую из задач сдать её нужно до дедлайна. Настоятельно рекомендуем заранее смотреть видеолекции и не откладывать решение задач на последний день — тогда у вас будет возможность задать вопросы на семинаре.
Контакты:
Сергей Копелиович | email: burunduk30@gmail.com | chat: vk.com/burunduk1 |
Павел Маврин | email: pavel.mavrin@gmail.com | chat: vk.com/pmavrin |
Глеб Леонов | email: gleb.leonov@gmail.com | chat: vk.com/id1509292 |
Преподаватели
Список лекций
Список, двусвязный
Динамический массив
Стек, очередь, дек (на списках, на массиве )
Куча
Поиск в глубину, сильная связность
Двухсвязность, Эйлеровость, 2-SAT