Для чередующихся наборов, например, 1,3,5,7 ..., 2,4,6,8, ..., необходимо сравнить первый элемент каждого набора на равенство, а когда это не удается, можнопотреблять меньший элемент из отсортированной очереди.Другой способ - сначала сравнить a<b
, затем b<a
, предполагая, что доступен только оператор меньше.В любом случае это приводит к сложности 2 (N1 + N2 + c).
Этот анализ сложности может измениться с введением трехстороннего сравнения <=>
с (N1 + N2-1).
РЕДАКТИРОВАТЬ: да, вы правы.Алгоритм продвигает первый указатель в каждой итерации и останавливается, когда первый указатель / итератор достигает конца.Таким образом, будет максимум N итераций.Это не зависит от шагов, необходимых для продвижения итератора2.Ошибка в примере алгоритма, который не обрабатывает случаи set1 = {1,2,3}, set2 = {3,3,3, X} с повторениями.