Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Swift : complexity, linear, search, array

Какая алгоритмическая сложность поиска элемента в Array без знания индекса?

Вопрос проверяет понимание временной сложности операций поиска в упорядоченных списках.

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

Поиск элемента в Array без индекса — это линейный проход (linear search), его сложность O(n), где n — число элементов.

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

Линейный поиск (Linear Search):

  • Идём по элементам последовательно, пока не найдём совпадение.

  • В худшем случае проверим все элементы.

Оценка сложности:

  • Лучший случай: O(1), если нужный элемент находится первым.

  • Средний и худший: O(n), потому что может потребоваться просмотр всех элементов.

Пример:

let a = [3, 7, 2, 9]
for item in a {
    	if item == 9 {
        	print("Найдено") // после 4 итераций
    	}
}

Альтернативы:

  • Если нужен быстрый поиск, лучше использовать Set или Dictionary (O(1) в среднем).

  • Для отсортированного массива можно применить бинарный поиск (O(log n)) через Array.binarySearch или вручную.

  • Аватар

    iOS Guru

    Roman Isakov

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Swift

    Swift

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

#complexity

#linear

#search

#array

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

  • Аватар

    iOS Guru

    Roman Isakov

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