Если исходный алгоритм делает все правильно
В смысле правильно находит кратчайшее расстояние?
Алгоритм Дейкстры, например, с моей точки зрения достаточно трудно расширить до мультицентровой модели
Просто при инициализации объявить расстояние до всех стартовых вершин нулевым. Дальше как обычно.
Кроме того, задача с несколькими стартовыми вершинами сводится к задаче с одной стартовой вершиной простейшей предобработкой: склеиваем все стартовые вершины в одну, расстояние от которой до какой-нибудь другой равно минимуму расстояний от стартовых вершин до этой другой.
И тем более до состояния связанности
И совсем другое, когда вы имеете разные карты, где расстояния до двух и более корневых вершин одинаково.
Я не очень понимаю, в чем проблема.
Пусть у нас есть граф с положительными весами. Пусть в этом графе выбрано несколько вершин, называемых центром. Пусть в каждой вершине написан какой-нибудь из ближайших к ней центров. Утверждение: подграф, образованный вершинами, в которых написан один и тот же центр, связен.
Вам какие-то еще требования нужны?
Я прочитал 4 объяснения алгоритма Дейкстры - могу сказать честно - совершенно непонятно, что хотели сказать автогры топиков на эту тему.
Это известная проблема, классические алгоритмы очень любят объяснять люди, сами их не понимающие. Алгоритм Дейкстры строго и подробно разобран у Кормена ("Алгоритмы: построение и анализ") и у Дасгупты ("Алгоритмы", объяснение чуть отличается от классического - алгоритм Дейкстры рассматривается как обобщение BFS).