Производительность доступа итератора для STL отображается по сравнению с вектором?

Я считаю, что команда show logging является привилегированной командой EXEC. Поэтому вы должны сначала войти в режим EXEC с помощью команды «enable».

ref: Использование интерфейса командной строки в программном обеспечении Cisco IOS

11
задан 8 April 2009 в 15:22
поделиться

5 ответов

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

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

19
ответ дан 3 December 2019 в 01:24
поделиться

This link has a nice table of performance for various operations on all of the STL containers.

Generally speaking, if you need to do a lot of inserting, removing or searching based on a key then the map is the way to go.

If you only need to set up the container once and then access it like an array then use a vector.

EDIT: Performance table of STL container operations:

enter image description here

7
ответ дан 3 December 2019 в 01:24
поделиться

Итерация по каждому элементу карты занимает O (n) времени. wikipedia

9
ответ дан 3 December 2019 в 01:24
поделиться

Просмотр дерева не является дорогостоящим (grosso modo, как следование по связанному списку), вы не сможете воспользоваться кешем как с вектором, но обычно это то, что вы делаете, когда вы делаете итерацию, это дорого, а не сама итерация.

Не могли бы вы рассказать нам больше о том, что вы ожидаете делать, когда вы перебираете всю карту?

2
ответ дан 3 December 2019 в 01:24
поделиться

Используйте карту, если вам нужен быстрый способ доступа по ключу. В противном случае используйте вектор постоянно, если с профилировщиком не будут обнаружены проблемы с производительностью.

1
ответ дан 3 December 2019 в 01:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: