Size: a a a

2021 June 07

F

Fannur in SwiftBook
вот я так и подумал, смутило, что на другие методы указана сложность, а тут не написали
источник

Д

Дмитрий in SwiftBook
Если по индексу O(1), по самоу элементу O(n)
источник

K

KurKing in SwiftBook
На деревьях чтоли?)
источник

F

Fannur in SwiftBook
хм
поиск же за константное время
найти и удалить тоже тогда получается за константное
источник

В

Василий in SwiftBook
а зачем? О(1) там.
сет принимает hashable значение и высчитать индекс элемента как бы ничего сложного
источник

Д

Дмитрий in SwiftBook
Так он проходит по всему массиву
источник

В

Василий in SwiftBook
куда проходит?
источник

AB

Alexandr Belkovsky in SwiftBook
Кто проходит?
источник

В

Василий in SwiftBook
никто там никуда не ходит :))
источник

AB

Alexandr Belkovsky in SwiftBook
а если тут ответ про обычный массив, а не про Set, то ответ тоже не корректный
источник

Д

Дмитрий in SwiftBook
А как тогда в обычном массиве он находит нужный элемент для удаления?
источник

В

Василий in SwiftBook
насчет сета - не ну, если есть коллизия, то там да, свои нюансы.
там он будет проверять массив со значениями который лежит по индексу и там будет O(n)
источник

AB

Alexandr Belkovsky in SwiftBook
по индексу удаление O(n) так как при удалении происходит смещение, за исключением popLast / removeLast
источник

KD

Krolikov Dima in SwiftBook
в саааамом худшем случае, когда совпали хеши у всех)
источник

В

Василий in SwiftBook
ну не у всех... достаточно чтоб несколько объектов по этому хешу залетело в сет
источник

В

Василий in SwiftBook
а остальные могут и отличаться
источник

AB

Alexandr Belkovsky in SwiftBook
и в обычном массиве в целом нет удаление по объекту.
и если там и есть, то это поиск индекса и удаление по индексу и завязано на equatable, что в целом опять дает O(n)
источник

KD

Krolikov Dima in SwiftBook
ну там ж не О(n))) там же меньше будет элементов по этому хешу)))))
источник

БМ

Борис М in SwiftBook
popUp это называется похоже\
источник

KS

Kirill Streltsov in SwiftBook
ребята, подскажите, как сделать pushDetail программатически?
источник