Sobes.tech
Назад к вопросам
Junior — Middle
69

Какой временной результат имеют операции вставки, поиска, чтения и удаления элементов в массиве в худшем и среднем случаях?

Компании, где спрашивали
Яндекс ДискЯндекс Диск
VKVK

Ответ от нейросети

sobes.tech AI

Для стандартного массива в iOS (например, NSArray или NSMutableArray) временные характеристики операций примерно следующие:

  • Вставка:

    • В конец массива (append): средний и худший случай — O(1) амортизированно (если не требуется перераспределение памяти).
    • В начало или в середину: O(n), так как нужно сдвинуть элементы.
  • Поиск (если поиск по индексу): O(1), так как массив индексируемый.

  • Чтение по индексу: O(1).

  • Удаление:

    • Из конца массива: O(1).
    • Из начала или середины: O(n), из-за сдвига элементов.

Таким образом, операции вставки и удаления в середине или начале массива имеют линейную сложность, а доступ и вставка/удаление в конце — константную (амортизированно).