Что важно знать
- Большинство реальных графов разреженные — список смежности.
- BFS находит кратчайший путь только без весов.
- Дейкстра не работает с отрицательными весами.
Как представить граф в программе, обходы в ширину и глубину, алгоритм Дейкстры и A*.
Практика. Решить пять задач на обход графа — связность, поиск пути, острова на сетке.
Практика. Реализовать Дейкстру на куче и A* на сетке и сравнить число просмотренных вершин.
Войдите, чтобы пройти тест: сданный тест отмечает тему пройденной на карте и в ИПР.
Два основных способа: матрица смежности (таблица V×V) и список смежности (для каждой вершины — список соседей).
Полный разборBFS идёт по уровням через очередь и находит кратчайший путь по числу рёбер; DFS идёт вглубь до упора через стек или рекурсию.
Полный разборДейкстра находит кратчайшие пути от одной вершины во взвешенном графе с неотрицательными весами: каждый раз берёт ближайшую ещё не обработанную вершину и ослабляет рёбра из неё.
Полный разборA — Дейкстра с подсказкой направления: вершины выбираются по f = g + h, где g — пройденное расстояние, h — оценка остатка до цели.
Полный разборПосле собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.