Справочник по алгоритмам и структурам данных
Сортировки, оценка сложности, графы, динамическое программирование и структуры данных — то, что спрашивают на экзамене и требуют в лабораторных.
Оценка сложности алгоритмов: O-большое
Что означает O(n), O(log n), O(n²), как считать сложность по коду, таблица сложностей типовых операций и структур данных.
Сортировки: пузырёк, вставки, быстрая, слиянием
Пять классических сортировок с кодом, таблицей сложностей и объяснением, какую выбрать в лабораторной и что ответить про устойчивость.
Обход графа: BFS и DFS
Способы представления графа, обход в ширину и в глубину, поиск кратчайшего пути в невзвешенном графе, проверка связности и циклов.
Динамическое программирование: рюкзак и другие задачи
Как понять, что задача решается через ДП, чем отличается «сверху вниз» от «снизу вверх», разбор задачи о рюкзаке и восстановление ответа.
Рекурсия: как работает и когда применять
Устройство рекурсивного вызова, база и шаг рекурсии, стек вызовов и переполнение, мемоизация, хвостовая рекурсия и перевод в цикл, разбор классических задач.
Хеш-таблицы: устройство и разрешение коллизий
Как работает хеш-таблица, требования к хеш-функции, разрешение коллизий методом цепочек и открытой адресацией, коэффициент заполнения, рехеширование, сравнение с деревом.
Жадные алгоритмы и разделяй-властвуй
Жадный выбор и условия его корректности, задача о размене и о расписании, алгоритм Хаффмана, схема разделяй-властвуй, основная теорема о рекуррентах.
Поиск: бинарный, деревья, сбалансированные структуры
Линейный и бинарный поиск, бинарное дерево поиска и его вырождение, балансировка AVL и красно-чёрные деревья, интерполяционный поиск, сравнение с хеш-таблицей.
Не хватает времени разбираться?
Опишите задачу — ответим в течение 15 минут в личных сообщениях ВКонтакте, назовём срок и цену. Предоплаты за оценку нет.
- Оценка заявки бесплатно
- Правки по замечаниям преподавателя
- Работы по всем техническим и IT-дисциплинам