Данный доклад посвящен детальному изучению алгоритма Джонсона, предназначенного для нахождения кратчайших путей между всеми парами вершин в графе, включая графы с отрицательными весами ребер. Будет рассмотрена теоретическая база алгоритма, его основные шаги и принципы работы, а также проведено сравнение с другими алгоритмами решения данной задачи, такими как алгоритм Беллмана-Форда и алгоритм Дейкстры. Особое внимание уделено оптимизации алгоритма Джонсона и его практическому применению в различных областях, включая маршрутизацию в сетях и анализ транспортных потоков. В заключение, будут приведены примеры реализации алгоритма на языке программирования Python.