Существует проблема, связанная с массивом, требование состоит в том, чтобы временная сложность была O (n), а пространственная сложность - O (1).
Если я использую Arrays.sort(arr)
и использую цикл for
для одного цикла прохода, например:
public static int hello(int[]A){
Arrays.sort(A);
for(int i=0;i<A.length;i++){
....................
}
return ....;
}
Таким образом, цикл будет стоить O (n) времени. Мой вопрос: будет ли Arrays.sort()
стоить больше времени? Если я использую Arrays.sort()
, будет ли на этот раз сложность по-прежнему O(n)? И будет ли Arrays.sort()
занимать больше места?
Arrays.sort()
использует некоторую магию, я думаю, что вопрос о том, какая минимальная временная сложность у него есть, вполне отвечает, не так ли? - person O. R. Mapper   schedule 22.03.2014Arrays.sort
, поэтому какой бы алгоритм он ни использовал. Трудно сказать, что это за язык (предположительно, Java), но стандартные библиотечные сортировки почти всегда являются сортировками сравнения. - person user2357112 supports Monica   schedule 22.03.2014Arrays.sort
временная и пространственная сложность?, что на самом деле является вопросом, который не требует никаких исследований, поскольку он довольно хорошо задокументирован. - person Bernhard Barker   schedule 22.03.2014Java Dual-Pivot Quicksort Time Complexity
-> Лучшее — Ω(n), Среднее — θ(n logn), Худшее — O(n^2). Где худший случай встречается редко. - person Sathvik   schedule 12.10.2020