Sobes.tech
Back to questions
Junior — Middle
75

Какая структура данных обеспечивает более быстрый доступ: массив, множество или словарь?

Answer from AI

sobes.tech AI

Массив обеспечивает быстрый доступ по индексу — операция чтения или записи элемента по индексу выполняется за время O(1). Однако поиск элемента по значению требует перебора (O(n)).

Множество (Set) и словарь (Dictionary) в Swift реализованы на основе хеш-таблиц, что обеспечивает амортизированное время доступа к элементу по ключу или наличию элемента примерно O(1).

Если говорить о доступе по индексу — массив быстрее, если по ключу или значению — множество и словарь обеспечивают более быстрый доступ.

Пример:

let array = ["a", "b", "c"]
let set: Set = ["a", "b", "c"]
let dict = ["key1": "a", "key2": "b"]

// Доступ по индексу в массиве
let element = array[1] // "b"

// Проверка наличия в множестве
let containsB = set.contains("b") // true

// Доступ по ключу в словаре
let value = dict["key1"] // "a"