- Задачи вычислительной геометрии (2d, 3d, n-мерная): поиск пересечений различных кривых (прямых, второго порядка и высших порядков), выпуклых оболочек и слоёв, триангуляций, триангуляция Делоне и диаграмма Вороного, метод движущейся прямой и др.
- Оптимизационные задачи на строках: поиск образцов (в т. ч. множественный), суффиксные структуры данных (суфф. массив/суфф. дерево/суфф. автомат) и их применения, хеширование, дерево палиндромов, поиск ред. расстояния (в т.ч. с использованием SSE)
- Задачи динамического программирования (в т.ч. на подмножествах, деревьях)
- Жадные алгоритмы, матроиды
- Задачи с использованием структур данных (дерево отрезков, в т.ч. с отложенными операциями, дерево Фенвика, сбалансированные деревья: декартовы, АВЛ, красно-чёрные,
2-3, splay и др.; B-деревья) - Задачи по теории чисел (в т. ч. криптографические)
- Задачи по теории игр (игры для
2-х и n игроков, теория Гранди, теория Смита и их применения, равновесие Нэша) - Задачи линейной алгебры (решение СЛУ, нахождение собственных чисел и векторов и др.)
- Задачи линейного программирования
- Задачи выпуклого программирования
- Нахождение корней уравнений (двоичный/троичный поиск, градиентный спуск, метод Штурма и др.)
- Комбинаторные задачи
- Оптимизационные задачи на графах (поиск кратчайших расстояний, паросочетаний, задача о назначениях, задачи о потоках в сетях и разрезах, в т. ч. минимальной стоимости, деревья Гомори-Ху, проверка планарности и нахождение укладки, поиск компонент связности, двусвязности и k-связности, эйлеров и гамильтонов путь, топологическая сортировка)
- Задачи численного интегрирования, решение дифференциальных уравнений, в т. ч. в частных производных
- Задачи вариационного исчисления
- Методы оптимизации перебора (backtracking, метод ветвей и границ, iterative deepening)
- Задачи теории вероятностей, производящие функции
- Рандомизированные алгоритмы оптимизации
- Методы решения неточных задач (метод отжига, генетические алгоритмы, метод муравьиных колоний и др.)
- Нейронные сети (теоретические основы)
- Методы оптимизации (использование кеша, особенностей процессора, инструкций SSE)
- Методы автоматического тестирования
- Список дополнительных умений:
- Системное администрирование (windows/linux)
- Построение больших компьютерных сетей (промышленного размера)
- Список областей практического применения (неполный):
- Обработка больших (гигантских) объёмов информации
- Задачи логистики (в том числе, с учётом пробок в реальном времени) и составления расписаний
- Задачи вычислительной биологии
- Задачи распознавания изображений/видео и аудио
- Контекстная реклама и рекомендации пользователю
- Задачи борьбы со спамом и со взломом
- Задачи математической статистики и аналитики
- Финансовые задачи
- Разработка криптографических систем передачи данных и систем надёжного хранения информации
- Задачи упаковки объектов (раскроя)
- Применение в медицинской среде (задачи моделирования распространения эпидемий, эффективности действия лекарств и т. д.)
- Разработка эффективных протоколов передачи данных
- Интернет вещей
Область применения знаний, полученных в СПбГУ
Дата публикации: