Какова временная сложность такого рода?Java Hashmap - PullRequest
0 голосов
/ 23 апреля 2019

Мне было интересно, какова временная сложность этого алгоритма сортировки, который сортирует хэш-карту.

private HashMap<Pair<T,T>,Double> sortMapOfEdges(HashMap<Pair<T,T>,Double> mapOfEdges){

    HashMap<Pair<T,T>, Double> sortedMapOfEdges = 
            mapOfEdges.entrySet().stream()
            .sorted(Entry.comparingByValue())
            .collect(Collectors.toMap(Entry::getKey, Entry::getValue,
                                      (e1, e2) -> e1, LinkedHashMap::new));

    return sortedMapOfEdges;

}

Спасибо.

1 Ответ

0 голосов
/ 23 апреля 2019

Единственная сортировка, выполняемая здесь, выполняется строкой

.sorted(Entry.comparingByValue())

Таким образом, реальный вопрос здесь заключается в том, каково время выполнения метода .sorted потока.Я полагаю, что это будет зависеть от некоторых внутренних деталей, но обычно эти встроенные методы сортировки почти оптимальны, поэтому я предполагаю, что O (n * log (n)).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...