Middle
Care este diferența dintre un Set și un array obișnuit? Care este complexitatea operației has() într-un Set?
sobes.tech AI
Răspuns de la AI
Set — это коллекция уникальных значений, в отличие от обычного массива, который может содержать дубликаты. Основные отличия:
- Уникальность элементов: Set не допускает повторяющихся значений.
- Быстрый поиск: метод
has()проверяет наличие элемента за константное время. - Отсутствие индексов: в Set нет доступа по индексу, как в массиве.
Сложность операции has() у Set — O(1) в среднем, благодаря внутреннему хэшированию или структурам данных, обеспечивающим быстрый поиск. В массиве же проверка наличия элемента (includes) — это операция O(n), так как требуется перебор элементов.
Пример:
const set = new Set([1, 2, 3]);
console.log(set.has(2)); // true
const arr = [1, 2, 3];
console.log(arr.includes(2)); // true