В книге CRLS анализ алгоритма Дейкстры выглядит следующим образом:
Сколько раз вам нужно использовать кучу?Один раз для извлечения каждого узла из кучи (т. Е. Extract-Min в книге CRLS) --- O (N);а также каждый раз, когда вы смотрите на край ---- O (E), вам может понадобиться изменить расстояние (т. е. Decrease-Key в книге CRLS), что означает исправление порядка кучи.И каждая операция кучи требует O (logN) работы.
Таким образом, общая сложность времени: O ((N + E) logN), которая равна O (ElogN), если все вершины достижимы из источника.
Мой вопрос: почему сложность становится O (ElogN), если все вершины достижимы из источника?Почему мы можем игнорировать часть O (NlogN) из O ((N + E) logN)?