Время алгоритма Крускаля - O(e log e)
и его время для сортировки ребер. Если вы можете сделать это в O (e), учитывая, что остальная часть алгоритма для поиска минимального остовного дерева равна O (e log n), у вас есть O(e) + O(e log n)
. Начиная с e=O(n^2)
, тогда время алгоритма будет O(n^2 log n)
или O(e log n)
. если сортировка принимает O (e log log e) с тем же анализом, общее время будет O(e log log e)
.
Подробности: Время для нахождения минимального остовного дерева вычисляется по времени вам нужно для сортировки ребер, а затем петли (е раз), в котором вы удалить каждое ребро из отсортированного списка и исследовать, если он соединяет два непересекающихся регионов или нет. (эта проверка требует O (log n)), и время цикла будет O(e log n)
, как указано выше.
с использованием более сложной непересекающимся набором структуры данных, чтобы найти и проверить непересекающиеся области петли имеет О (Е α (V)) время, где α является крайне медленно растет обратный однозначную функцию Ackermann (WikiPedia)
Вы должны указать, что такое n и что такое e? – Ahmad
, если вы нашли ответ полезным, отметьте его как ответ и проголосуйте за него. – Ahmad
@Ahmad OP имеет только 11 репутации, поэтому он/она не может повышать. Но если вы нашли интересный вопрос, вы тоже можете его проголосовать ;-) –