Size: a a a

JavaScript.Ninja

2021 February 04

S

Sergei in JavaScript.Ninja
Arthur Irgashev
это всё константы, их отбрасываем. как правило - вызов ф-ции - это считанные наносекунды

по алгоритмике у тебя хуже, по скорости, скорее всего, тоже, т.к. второй проход, скорее всего, будет дольше, чем вызов коллбека в рамках одной итерации
Вот в этом я не уверен, надо потестить.
Сеасибо за идею
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
ну, ладно, насчёт жс я не уверен. в других языках я привык, что добавление константное
Расскажите волшебный алгоритм константного добавления во множество
источник

IK

Illya Klymov in JavaScript.Ninja
Не в массив
источник

S

Sergei in JavaScript.Ninja
Угу, тут же нужны уникальные а не просто пустые выкинуть, потому set
источник

AI

Arthur Irgashev in JavaScript.Ninja
Illya Klymov
Расскажите волшебный алгоритм константного добавления во множество
ок

Set objects must be implemented using either hash tables or other mechanisms that, on average, provide access times that are sublinear on the number of elements in the collection. The data structures used in this Set objects specification is only intended to describe the required observable semantics of Set objects. It is not intended to be a viable implementation model.
источник

AI

Arthur Irgashev in JavaScript.Ninja
я перефразирую: я не знаю, как под капотом сделан set в жсе, поэтому не уверен насчёт константного добавления
источник

AI

Arthur Irgashev in JavaScript.Ninja
если там хештейбл - то O(1)
источник

S

Sergei in JavaScript.Ninja
Arthur Irgashev
если там хештейбл - то O(1)
По идее он
источник

AI

Arthur Irgashev in JavaScript.Ninja
Arthur Irgashev
ок

Set objects must be implemented using either hash tables or other mechanisms that, on average, provide access times that are sublinear on the number of elements in the collection. The data structures used in this Set objects specification is only intended to describe the required observable semantics of Set objects. It is not intended to be a viable implementation model.
это из спецификации. сублинейное - это не только логарифмы, это всё, что быстрее O(n)
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
если там хештейбл - то O(1)
Sublinear это не constant
источник

IK

Illya Klymov in JavaScript.Ninja
Arthur Irgashev
я перефразирую: я не знаю, как под капотом сделан set в жсе, поэтому не уверен насчёт константного добавления
Невозможно реализовать добавление во множество за константное время
источник

IK

Illya Klymov in JavaScript.Ninja
Там practically O(1) но не буду занудствовать дальше
источник

AI

Arthur Irgashev in JavaScript.Ninja
Illya Klymov
Невозможно реализовать добавление во множество за константное время
в .net же смогли
источник

AI

Arthur Irgashev in JavaScript.Ninja
там под капотом хештейбл, у которой o(1)
источник

AK

Artem Kobzar in JavaScript.Ninja
Illya Klymov
Не в массив
В массив тоже не  O(1), там же в какой-то момент resizing произойдет
источник

AI

Arthur Irgashev in JavaScript.Ninja
Artem Kobzar
В массив тоже не  O(1), там же в какой-то момент resizing произойдет
да, но это всё нюансы :)
источник

IK

Illya Klymov in JavaScript.Ninja
Artem Kobzar
В массив тоже не  O(1), там же в какой-то момент resizing произойдет
Добрейшего утра :)
источник

AK

Artem Kobzar in JavaScript.Ninja
Arthur Irgashev
там под капотом хештейбл, у которой o(1)
Посмотрите внимательней на реализацию любой хэш-таблицы
источник

AK

Artem Kobzar in JavaScript.Ninja
Добренькое
источник

AI

Arthur Irgashev in JavaScript.Ninja
не высчитывать же всё до копеек
источник