Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : algorithm, sorting, quicksort

Какая средняя алгоритмическая сложность быстрой сортировки?

Вопрос проверяет знание временной сложности алгоритма быстрой сортировки (quicksort).

Короткий ответ

Средняя сложность быстрой сортировки — O(n log n). В худшем случае (редком) — O(n²). Это один из самых эффективных алгоритмов сортировки на практике.

Длинный ответ

Быстрая сортировка использует стратегию "разделяй и властвуй".

1. Как работает:

  • Выбирается опорный элемент (pivot).

  • Массив делится на две части: элементы меньше pivot и больше pivot.

  • Процесс рекурсивно повторяется для каждой части.

2. Сложность:

  • Средний случай: O(n log n) — при хорошем выборе pivot.

  • Худший случай: O(n²) — если pivot всегда минимальный или максимальный элемент.

3. Пример на Swift:

func quickSort(_ array: [Int]) -> [Int] {
    guard array.count > 1 else { return array }
    let pivot = array[array.count/2]
    let less = array.filter { $0 < pivot }
    let equal = array.filter { $0 == pivot }
    let greater = array.filter { $0 > pivot }
    return quickSort(less) + equal + quickSort(greater)
}

Вывод:
Быстрая сортировка эффективна для больших данных, но требует аккуратного выбора pivot.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Swift

    Swift

Ключевые слова

#algorithm

#sorting

#quicksort

Подпишись на iOS Developer в телеграм

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.