Junior — Middle
106
Как определить временную сложность алгоритма быстрой сортировки?
Сұралған компаниялар
Передовые Платежные Решения
AI-дан жауап
sobes.tech AI
Временная сложность алгоритма быстрой сортировки (QuickSort) зависит от выбора опорного элемента (pivot) и распределения данных.
- В среднем и лучшем случае сложность — O(n log n), где n — количество элементов. Это происходит, когда массив делится примерно пополам на каждом шаге.
- В худшем случае (например, когда массив уже отсортирован и выбирается крайний элемент как pivot) сложность становится O(n²).
Для оценки временной сложности анализируют количество сравнений и перестановок на каждом уровне рекурсии и суммируют по всем уровням.
Пример вызова быстрой сортировки на Java:
public void quickSort(int[] arr, int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quickSort(arr, low, pi - 1);
quickSort(arr, pi + 1, high);
}
}
Здесь partition — функция, которая выбирает pivot и разделяет массив.