И с картой, и с вектором повторение всей коллекции равно O (N). однако (например, список против вектора) вектор хранит элементы непрерывно, поэтому доступ к следующему элементу намного дешевле, поскольку он будет оптимально использовать кэш, а карта - нет.
Но так как нужен для поиска по ключам, альтернативы на самом деле нет. Вы можете использовать вектор пар, отсортированный по первому элементу, но если коллекция должна быть изменчивой, это будет очень медленно. Просто используйте карту.