Ну, вы правы, что сложность на самом деле O (E log V) .
Так как E может быть до (V ^2 - V) / 2 , это не то же самое, что O (V log V) .
Если у каждой вершины есть ребро, то V <= 2E</strong>, поэтому в этом случае O (E log V) = O ((E + V) log V) .Это обычный случай, и он соответствует «правильному» ответу.
Но технически, O (E log V) не совпадает с O ((E + V)) log V) , потому что в V может быть целый ряд разрозненных вершин.Однако в таком случае алгоритм Дейкстры никогда не увидит все эти вершины, поскольку он находит только вершины, связанные с одним источником.Поэтому, когда разница между этими двумя сложностями важна, вы правы, а «правильный ответ» - нет.