быстрее чем у array? А за счет чего? Ведь если смотреть как оно работает то массив тупо проходит по всем позициям пока не найдет, а в сете считается сначала хэш и потом так же проходится по всем уникальным хэшам. То есть выигрыш сета по идее будет только если в массиве очень много дубликатов, в противном случае массив уникальных значений должен быть быстрее - нет вычисления хэша ключа плюс сравнение значений куда быстрее чем сравнение хэшей. Поясните сеньоры пожалуйста так ли это.
нет. в сете не проходится. там сразу берется конкретный элемент исходя из индекса, который по хешу высчитывается.
Нет, в сете происходит поиск по значению, поэтому быстрее, он ничего не передирает, а простотдостает нужных хэш
на низком уровне как это работает
https://github.com/apple/swift/blob/main/stdlib/public/core/Set.swift изучай, тут к каждому методу норм описание написано и сразу сложность
а что там изучать? заголовочные определения функций? 😄
Найди книгу по структурам данных. Во всех языках это примерно одинаково работает.
Это и есть подкапотная, исходники же
я прежде чем это написать, конечно же посмотрел этот файл. Номере нашел там деталей реализации - отсюда такое сообщение
Обсуждают сегодня