#c #vector #set #time-complexity
Вопрос:
какова временная сложность преобразования вектора в набор в c . Может ли это быть сделано в O(n).
если я копирую вектор в набор, подобный этому, установите s(v. начало (), v. конец()); тогда какова его временная сложность
Ответ №1:
Это O(N * log(N))
из документации. Он линейный, если вектор уже отсортирован (также в документации).
Возможно, вас это заинтересует std::unordered_set
. В среднем для этого конструктора требуется два итератора O(N)
(см. Здесь).
Комментарии:
1. @AlanBirtles Хорошая мысль — я отредактировал это в ответе.