Фундаментальные принципы построения алгоритмов и структур данных для оптимизации приложений
На выходе
Оценивать временную и пространственную сложность алгоритмов с помощью O-нотации; Реализовывать и выбирать оптимальные структуры данных для конкретных задач; Проектировать алгоритмы на основе принципа «разделяй и властвуй»; Решать задачи на поиск кратчайшего пути и обход графов; Применять методы динамического и жадного программирования для оптимизации вычислений
Навыки
Оценка сложности алгоритмов · O-нотация · Работа с памятью · Деревья · Графы · Хеш-таблицы · Динамическое программирование · Жадные алгоритмы